lots of refactoring, not ready yet, doesn't compile
This commit is contained in:
parent
a0aca93799
commit
ee95c12417
@ -16,7 +16,9 @@ SOURCES += mainwindow.cpp \
|
|||||||
user.cpp \
|
user.cpp \
|
||||||
prompt.cpp \
|
prompt.cpp \
|
||||||
ircbot.cpp \
|
ircbot.cpp \
|
||||||
botapp.cpp
|
botapp.cpp \
|
||||||
|
module.cpp \
|
||||||
|
basemodule.cpp
|
||||||
|
|
||||||
HEADERS += mainwindow.h \
|
HEADERS += mainwindow.h \
|
||||||
socketirc.h \
|
socketirc.h \
|
||||||
@ -24,6 +26,8 @@ HEADERS += mainwindow.h \
|
|||||||
user.h \
|
user.h \
|
||||||
prompt.h \
|
prompt.h \
|
||||||
ircbot.h \
|
ircbot.h \
|
||||||
botapp.h
|
botapp.h \
|
||||||
|
module.h \
|
||||||
|
basemodule.h
|
||||||
|
|
||||||
FORMS += mainwindow.ui
|
FORMS += mainwindow.ui
|
||||||
|
120
basemodule.cpp
Normal file
120
basemodule.cpp
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
#include "basemodule.h"
|
||||||
|
|
||||||
|
BaseModule::BaseModule() : Module(), status(OFFLINE)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BaseModule::messageHandler(Message msg)
|
||||||
|
{
|
||||||
|
switch(status)
|
||||||
|
{
|
||||||
|
case OFFLINE :
|
||||||
|
status = ONLINE;
|
||||||
|
emit sendMsg(QString("NICK %1\r\nUSER %2 0 * %3").arg(getNick()).arg(getNick()).arg(getNick()));
|
||||||
|
break;
|
||||||
|
case ONLINE :
|
||||||
|
if(str.contains("PING"))
|
||||||
|
{
|
||||||
|
status = ON_CHAN;
|
||||||
|
emit sendMsg(pong(msg.nick));
|
||||||
|
emit sendMsg(join(getChan()));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case ON_CHAN :
|
||||||
|
if(str.contains("PING"))
|
||||||
|
answer = pong(msg.nick);
|
||||||
|
return onChanHandler(msg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BaseModule::onChanHandler(Message msg)
|
||||||
|
{
|
||||||
|
bool ret = false;
|
||||||
|
// si la ligne est un message
|
||||||
|
if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
// mise à jour du bot
|
||||||
|
if(msg.args.compare("!update") == 0 && msg.src != NULL && msg.src->isOp())
|
||||||
|
{
|
||||||
|
answer = quit("Rebooting for update...");
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// affiche les gens connectés
|
||||||
|
else if(msg.args.compare("!list") == 0)
|
||||||
|
{
|
||||||
|
QString str = "Online users : ";
|
||||||
|
for(User* u : users)
|
||||||
|
{
|
||||||
|
if(u->isOp())
|
||||||
|
str.append("@");
|
||||||
|
str.append(u->getNick());
|
||||||
|
str.append(" ");
|
||||||
|
}
|
||||||
|
answer = say(str);
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// renommage
|
||||||
|
else if(msg.command.compare("NICK", Qt::CaseInsensitive) == 0)
|
||||||
|
msg.src->rename(msg.args);
|
||||||
|
else if(msg.command.compare("QUIT", Qt::CaseInsensitive) == 0)
|
||||||
|
users.remove(msg.src);
|
||||||
|
else if(msg.command.compare("PART", Qt::CaseInsensitive) == 0)
|
||||||
|
users.remove(msg.src);
|
||||||
|
else if(msg.command.compare("KICK", Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
if(getNick().compare(msg.target2) == 0)
|
||||||
|
{
|
||||||
|
answer = quit("i've been kicked :(");
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
users.remove(users.getFromNick(msg.target2));
|
||||||
|
}
|
||||||
|
else if(msg.command.compare("JOIN", Qt::CaseInsensitive) == 0
|
||||||
|
&& msg.args.contains(getChan())
|
||||||
|
&& getNick().compare(msg.nick) != 0)
|
||||||
|
{
|
||||||
|
users.getOrAdd(msg.nick);
|
||||||
|
answer = whois(msg.nick);
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 353 = code de la ligne qui liste les nicks connectés
|
||||||
|
// on les parse et on effectue un WHOIS sur chaque nick
|
||||||
|
else if(msg.command.compare(QString("353"), Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
// names
|
||||||
|
QStringList names = msg.args.split(' ');
|
||||||
|
for(QString s : names)
|
||||||
|
{
|
||||||
|
users.getOrAdd(s);
|
||||||
|
answer = whois(s);
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 319 = code de la ligne de réponse au whois qui indique les chans d'un user, et son statut dessus
|
||||||
|
else if(msg.command.compare(QString("319"), Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
User* u = users.getOrAdd(msg.target2);
|
||||||
|
QStringList chanList = msg.args.split(' ');
|
||||||
|
for(QString s : chanList)
|
||||||
|
{
|
||||||
|
if(s.endsWith(getChan()))
|
||||||
|
{
|
||||||
|
u->setOp(s.startsWith('@'));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString BaseModule::getName()
|
||||||
|
{
|
||||||
|
return "base";
|
||||||
|
}
|
20
basemodule.h
Normal file
20
basemodule.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef BASEMODULE_H
|
||||||
|
#define BASEMODULE_H
|
||||||
|
|
||||||
|
#include "module.h"
|
||||||
|
|
||||||
|
class BaseModule : public Module
|
||||||
|
{
|
||||||
|
UserList users;
|
||||||
|
|
||||||
|
enum{OFFLINE, ONLINE, ON_CHAN};
|
||||||
|
int status;
|
||||||
|
public:
|
||||||
|
BaseModule();
|
||||||
|
|
||||||
|
bool messageHandler(Message msg);
|
||||||
|
bool onChanHandler(Message msg);
|
||||||
|
QString getName();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // BASEMODULE_H
|
140
ircbot.cpp
140
ircbot.cpp
@ -5,142 +5,30 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
IRCBot::IRCBot(QString nick_, QString chan_) : nick(nick_), chan(chan_)
|
||||||
|
{
|
||||||
|
addModule(new BaseModule());
|
||||||
|
}
|
||||||
|
|
||||||
void IRCBot::receiveMsg(QString str)
|
void IRCBot::receiveMsg(QString str)
|
||||||
{
|
{
|
||||||
Message msg = Message(str, &users);
|
Message msg = Message(str);
|
||||||
|
|
||||||
switch(status)
|
for(Module* m : modules)
|
||||||
{
|
{
|
||||||
case OFFLINE :
|
if(m->messageHandler(msg))
|
||||||
status = ONLINE;
|
emit sendMsg(m->getAnswer());
|
||||||
emit sendMsg(QString("NICK %1\r\nUSER %2 0 * %3").arg(nick).arg(nick).arg(nick));
|
|
||||||
break;
|
|
||||||
case ONLINE :
|
|
||||||
if(str.contains("PING"))
|
|
||||||
{
|
|
||||||
status = ON_CHAN;
|
|
||||||
emit sendMsg(pong(msg.nick));
|
|
||||||
emit sendMsg(join(chan));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ON_CHAN :
|
|
||||||
if(str.contains("PING"))
|
|
||||||
emit sendMsg(pong(msg.nick));
|
|
||||||
handleMessage(msg);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRCBot::handleMessage(Message msg)
|
void IRCBot::addModule(Module* module)
|
||||||
{
|
{
|
||||||
// si la ligne est un message
|
modules.push_back(module);
|
||||||
if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) == 0)
|
module->setChan(chan);
|
||||||
{
|
module->setNick(nick);
|
||||||
// mise à jour du bot
|
|
||||||
if(msg.args.compare("!update") == 0 && msg.src != NULL && msg.src->isOp())
|
|
||||||
emit sendMsg(quit("Rebooting for update..."));
|
|
||||||
|
|
||||||
// affiche les gens connectés
|
|
||||||
if(msg.args.compare("!list") == 0)
|
|
||||||
{
|
|
||||||
QString str = "Online users : ";
|
|
||||||
for(User* u : users)
|
|
||||||
{
|
|
||||||
if(u->isOp())
|
|
||||||
str.append("@");
|
|
||||||
str.append(u->getNick());
|
|
||||||
str.append(" ");
|
|
||||||
}
|
|
||||||
emit sendMsg(say(str));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// renommage
|
|
||||||
else if(msg.command.compare("NICK", Qt::CaseInsensitive) == 0)
|
|
||||||
msg.src->rename(msg.args);
|
|
||||||
else if(msg.command.compare("QUIT", Qt::CaseInsensitive) == 0)
|
|
||||||
users.remove(msg.src);
|
|
||||||
else if(msg.command.compare("PART", Qt::CaseInsensitive) == 0)
|
|
||||||
users.remove(msg.src);
|
|
||||||
else if(msg.command.compare("KICK", Qt::CaseInsensitive) == 0)
|
|
||||||
{
|
|
||||||
if(nick.compare(msg.target2) == 0)
|
|
||||||
emit sendMsg(quit("i've been kicked :("));
|
|
||||||
users.remove(users.getFromNick(msg.target2));
|
|
||||||
}
|
|
||||||
else if(msg.command.compare("JOIN", Qt::CaseInsensitive) == 0
|
|
||||||
&& msg.args.contains(chan)
|
|
||||||
&& nick.compare(msg.nick) != 0)
|
|
||||||
{
|
|
||||||
users.getOrAdd(msg.nick);
|
|
||||||
emit sendMsg(whois(msg.nick));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 353 = code de la ligne qui liste les nicks connectés
|
|
||||||
// on les parse et on effectue un WHOIS sur chaque nick
|
|
||||||
else if(msg.command.compare(QString("353"), Qt::CaseInsensitive) == 0)
|
|
||||||
{
|
|
||||||
// names
|
|
||||||
QStringList names = msg.args.split(' ');
|
|
||||||
for(QString s : names)
|
|
||||||
{
|
|
||||||
users.getOrAdd(s);
|
|
||||||
emit sendMsg(whois(s));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 319 = code de la ligne de réponse au whois qui indique les chans d'un user, et son statut dessus
|
|
||||||
else if(msg.command.compare(QString("319"), Qt::CaseInsensitive) == 0)
|
|
||||||
{
|
|
||||||
User* u = users.getOrAdd(msg.target2);
|
|
||||||
QStringList chanList = msg.args.split(' ');
|
|
||||||
for(QString s : chanList)
|
|
||||||
{
|
|
||||||
if(s.endsWith(chan))
|
|
||||||
{
|
|
||||||
u->setOp(s.startsWith('@'));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::pong(QString target)
|
|
||||||
{
|
|
||||||
return QString("PONG :%1").arg(target);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::join(QString theChan)
|
|
||||||
{
|
|
||||||
return QString("JOIN #%1").arg(theChan);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::whois(QString nick)
|
|
||||||
{
|
|
||||||
return QString("WHOIS %1").arg(nick);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::say(QString str)
|
|
||||||
{
|
|
||||||
return QString("PRIVMSG #%1 :%2").arg(chan).arg(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::privateSay(QString str, QString target)
|
|
||||||
{
|
|
||||||
return QString("PRIVMSG %1 :%2").arg(target).arg(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::action(QString str)
|
|
||||||
{
|
|
||||||
return QString("PRIVMSG #%1 :\001ACTION %2\001").arg(chan).arg(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString IRCBot::quit(QString str)
|
|
||||||
{
|
|
||||||
return QString("QUIT :%1").arg(str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRCBot::disconnect()
|
void IRCBot::disconnect()
|
||||||
{
|
{
|
||||||
emit sendMsg(quit("I'll be back"));
|
emit sendMsg("QUIT :\r\n");
|
||||||
}
|
}
|
||||||
|
23
ircbot.h
23
ircbot.h
@ -4,33 +4,24 @@
|
|||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <vector>
|
||||||
|
#include "module.h"
|
||||||
|
#include "basemodule.h"
|
||||||
|
|
||||||
class IRCBot : public QObject
|
class IRCBot : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
enum{OFFLINE, ONLINE, ON_CHAN};
|
|
||||||
|
|
||||||
QString nick;
|
QString nick;
|
||||||
QString chan;
|
QString chan;
|
||||||
int status;
|
|
||||||
UserList users;
|
|
||||||
|
|
||||||
|
std::vector<Module*> modules;
|
||||||
|
BaseModule *base;
|
||||||
public:
|
public:
|
||||||
IRCBot(QString nick_, QString chan_) : nick(nick_), chan(chan_), status(OFFLINE) {}
|
IRCBot(QString nick_, QString chan_);
|
||||||
|
|
||||||
private:
|
|
||||||
void handleMessage(Message msg);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// IRC commands
|
void addModule(Module* module);
|
||||||
QString pong(QString target);
|
|
||||||
QString join(QString theChan);
|
|
||||||
QString privateSay(QString str, QString target);
|
|
||||||
QString whois(QString nick);
|
|
||||||
QString say(QString str);
|
|
||||||
QString action(QString str);
|
|
||||||
QString quit(QString str);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void receiveMsg(QString msg);
|
void receiveMsg(QString msg);
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
Message::Message(QString str, UserList* users)
|
Message::Message(QString str)
|
||||||
{
|
{
|
||||||
if(str.startsWith("PING"))
|
if(str.startsWith("PING"))
|
||||||
{
|
{
|
||||||
command = "PING";
|
command = "PING";
|
||||||
target = "PING";
|
target = "PING";
|
||||||
src = NULL;
|
|
||||||
nick = str.split(':')[1];
|
nick = str.split(':')[1];
|
||||||
args = nick;
|
args = nick;
|
||||||
}
|
}
|
||||||
@ -28,7 +27,6 @@ Message::Message(QString str, UserList* users)
|
|||||||
// source of the message (creates the user if he is new)
|
// source of the message (creates the user if he is new)
|
||||||
QString temp = list.takeFirst();
|
QString temp = list.takeFirst();
|
||||||
nick = temp.left(temp.indexOf('!'));
|
nick = temp.left(temp.indexOf('!'));
|
||||||
src = users->getFromNick(nick);
|
|
||||||
// command issued by the source
|
// command issued by the source
|
||||||
command = list.takeFirst();
|
command = list.takeFirst();
|
||||||
// target of the command
|
// target of the command
|
||||||
|
@ -9,13 +9,12 @@
|
|||||||
class Message
|
class Message
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
User* src;
|
|
||||||
QString nick;
|
QString nick;
|
||||||
QString command;
|
QString command;
|
||||||
QString target;
|
QString target;
|
||||||
QString target2;
|
QString target2;
|
||||||
QString args;
|
QString args;
|
||||||
Message(QString str, UserList* users);
|
Message(QString str);
|
||||||
~Message();
|
~Message();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
73
module.cpp
Normal file
73
module.cpp
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#include "module.h"
|
||||||
|
|
||||||
|
QString Module::getAnswer()
|
||||||
|
{
|
||||||
|
return answer;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Module::isEnabled()
|
||||||
|
{
|
||||||
|
return enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Module::setEnabled(bool newStatus)
|
||||||
|
{
|
||||||
|
enabled = newStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString getNick()
|
||||||
|
{
|
||||||
|
return nick;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString getChan()
|
||||||
|
{
|
||||||
|
return chan;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setNick(QString nick_)
|
||||||
|
{
|
||||||
|
nick = nick_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setChan(QString chan_)
|
||||||
|
{
|
||||||
|
chan = chan_;
|
||||||
|
}
|
||||||
|
|
||||||
|
// IRC COMMANDS
|
||||||
|
|
||||||
|
QString Module::pong(QString target)
|
||||||
|
{
|
||||||
|
return QString("PONG :%1\r\n").arg(target);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::join(QString theChan)
|
||||||
|
{
|
||||||
|
return QString("JOIN #%1\r\n").arg(theChan);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::whois(QString nick)
|
||||||
|
{
|
||||||
|
return QString("WHOIS %1\r\n").arg(nick);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::say(QString str)
|
||||||
|
{
|
||||||
|
return QString("PRIVMSG #%1 :%2\r\n").arg(chan).arg(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::privateSay(QString str, QString target)
|
||||||
|
{
|
||||||
|
return QString("PRIVMSG %1 :%2\r\n").arg(target).arg(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::action(QString str)
|
||||||
|
{
|
||||||
|
return QString("PRIVMSG #%1 :\001ACTION %2\001\r\n").arg(chan).arg(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString Module::quit(QString str)
|
||||||
|
{
|
||||||
|
return QString("QUIT :%1\r\n").arg(str);
|
||||||
|
}
|
42
module.h
Normal file
42
module.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#ifndef MODULE_H
|
||||||
|
#define MODULE_H
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
class Message;
|
||||||
|
|
||||||
|
class Module
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
bool enabled;
|
||||||
|
QString nick;
|
||||||
|
QString chan;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString answer;
|
||||||
|
|
||||||
|
QString pong(QString target);
|
||||||
|
QString join(QString theChan);
|
||||||
|
QString privateSay(QString str, QString target);
|
||||||
|
QString whois(QString nick);
|
||||||
|
QString say(QString str);
|
||||||
|
QString action(QString str);
|
||||||
|
QString quit(QString str);
|
||||||
|
|
||||||
|
public:
|
||||||
|
Module() : enabled(true) {}
|
||||||
|
|
||||||
|
virtual bool messageHandler(Message msg);
|
||||||
|
virtual QString getName();
|
||||||
|
|
||||||
|
QString getAnswer();
|
||||||
|
bool isEnabled();
|
||||||
|
void setEnabled(bool newStatus);
|
||||||
|
QString getNick();
|
||||||
|
QString getChan();
|
||||||
|
void setNick(QString nick_);
|
||||||
|
void setChan(QString chan_);
|
||||||
|
// TODO: add serialization methods
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MODULE_H
|
@ -15,7 +15,6 @@ SocketIRC::SocketIRC(QString server_, int port_) : server(server_), port(port_),
|
|||||||
|
|
||||||
void SocketIRC::sendMsg(QString msg)
|
void SocketIRC::sendMsg(QString msg)
|
||||||
{
|
{
|
||||||
msg.append("\r\n");
|
|
||||||
sock.write(msg.toStdString().c_str());
|
sock.write(msg.toStdString().c_str());
|
||||||
sock.flush();
|
sock.flush();
|
||||||
}
|
}
|
||||||
|
@ -1,74 +0,0 @@
|
|||||||
/********************************************************************************
|
|
||||||
** Form generated from reading UI file 'mainwindow.ui'
|
|
||||||
**
|
|
||||||
** Created by: Qt User Interface Compiler version 5.4.1
|
|
||||||
**
|
|
||||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
|
||||||
********************************************************************************/
|
|
||||||
|
|
||||||
#ifndef UI_MAINWINDOW_H
|
|
||||||
#define UI_MAINWINDOW_H
|
|
||||||
|
|
||||||
#include <QtCore/QVariant>
|
|
||||||
#include <QtWidgets/QAction>
|
|
||||||
#include <QtWidgets/QApplication>
|
|
||||||
#include <QtWidgets/QButtonGroup>
|
|
||||||
#include <QtWidgets/QGridLayout>
|
|
||||||
#include <QtWidgets/QHeaderView>
|
|
||||||
#include <QtWidgets/QMainWindow>
|
|
||||||
#include <QtWidgets/QTextBrowser>
|
|
||||||
#include <QtWidgets/QWidget>
|
|
||||||
#include "prompt.h"
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class Ui_MainWindow
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QWidget *centralWidget;
|
|
||||||
QGridLayout *gridLayout;
|
|
||||||
QTextBrowser *monitoringConsole;
|
|
||||||
Prompt *prompt;
|
|
||||||
|
|
||||||
void setupUi(QMainWindow *MainWindow)
|
|
||||||
{
|
|
||||||
if (MainWindow->objectName().isEmpty())
|
|
||||||
MainWindow->setObjectName(QStringLiteral("MainWindow"));
|
|
||||||
MainWindow->resize(374, 404);
|
|
||||||
centralWidget = new QWidget(MainWindow);
|
|
||||||
centralWidget->setObjectName(QStringLiteral("centralWidget"));
|
|
||||||
gridLayout = new QGridLayout(centralWidget);
|
|
||||||
gridLayout->setSpacing(6);
|
|
||||||
gridLayout->setContentsMargins(11, 11, 11, 11);
|
|
||||||
gridLayout->setObjectName(QStringLiteral("gridLayout"));
|
|
||||||
monitoringConsole = new QTextBrowser(centralWidget);
|
|
||||||
monitoringConsole->setObjectName(QStringLiteral("monitoringConsole"));
|
|
||||||
|
|
||||||
gridLayout->addWidget(monitoringConsole, 1, 0, 1, 2);
|
|
||||||
|
|
||||||
prompt = new Prompt(centralWidget);
|
|
||||||
prompt->setObjectName(QStringLiteral("prompt"));
|
|
||||||
|
|
||||||
gridLayout->addWidget(prompt, 0, 0, 1, 2);
|
|
||||||
|
|
||||||
MainWindow->setCentralWidget(centralWidget);
|
|
||||||
|
|
||||||
retranslateUi(MainWindow);
|
|
||||||
|
|
||||||
QMetaObject::connectSlotsByName(MainWindow);
|
|
||||||
} // setupUi
|
|
||||||
|
|
||||||
void retranslateUi(QMainWindow *MainWindow)
|
|
||||||
{
|
|
||||||
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
|
|
||||||
} // retranslateUi
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class MainWindow: public Ui_MainWindow {};
|
|
||||||
} // namespace Ui
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // UI_MAINWINDOW_H
|
|
Loading…
x
Reference in New Issue
Block a user