GUI upgrade incoming
This commit is contained in:
parent
a613b35caa
commit
58d369b018
@ -2,6 +2,7 @@
|
||||
#include "mainwindow.h"
|
||||
#include "ircbot.h"
|
||||
#include "socketirc.h"
|
||||
#include "console.h"
|
||||
|
||||
BotApp::BotApp(int argc, char** argv) : nogui(false)
|
||||
{
|
||||
@ -58,11 +59,15 @@ int BotApp::exec()
|
||||
{
|
||||
if(!nogui)
|
||||
{
|
||||
window = new MainWindow();
|
||||
QObject::connect(sock, SIGNAL(receivedMsg(QString)), (QObject*)window->getConsole(), SLOT(append(QString)));
|
||||
QObject::connect(bot, SIGNAL(sendMsg(QString)), (QObject*)window->getConsole(), SLOT(append(QString)));
|
||||
QObject::connect((QObject*)window->getPrompt(), SIGNAL(sendMsg(QString)), sock, SLOT(sendMsg(QString)));
|
||||
QObject::connect((QObject*)window->getPrompt(), SIGNAL(returnPressed()), (QObject*)window->getPrompt(), SLOT(confirmationPerformed()));
|
||||
window = new MainWindow(bot->getChan());
|
||||
QObject::connect(sock, SIGNAL(receivedMsg(QString)), window->getAdvancedConsole(), SLOT(appendAdvancedMsg(QString)));
|
||||
QObject::connect(bot, SIGNAL(sendMsg(QString)), window->getAdvancedConsole(), SLOT(appendAdvancedMsg(QString)));
|
||||
QObject::connect(sock, SIGNAL(receivedMsg(QString)), window->getSimpleConsole(), SLOT(appendSimpleMsg(QString)));
|
||||
QObject::connect(bot, SIGNAL(sendMsg(QString)), window->getSimpleConsole(), SLOT(appendSimpleMsg(QString)));
|
||||
QObject::connect((QObject*)window->getAdvancedPrompt(), SIGNAL(sendMsg(QString)), sock, SLOT(sendMsg(QString)));
|
||||
QObject::connect((QObject*)window->getAdvancedPrompt(), SIGNAL(returnPressed()), (QObject*)window->getAdvancedPrompt(), SLOT(advancedConfirmationPerformed()));
|
||||
QObject::connect((QObject*)window->getSimplePrompt(), SIGNAL(sendMsg(QString)), sock, SLOT(sendMsg(QString)));
|
||||
QObject::connect((QObject*)window->getSimplePrompt(), SIGNAL(returnPressed()), (QObject*)window->getSimplePrompt(), SLOT(simpleConfirmationPerformed()));
|
||||
window->show();
|
||||
}
|
||||
return sock->connectToServer(coreApp);
|
||||
|
12
ircbot/console.cpp
Normal file
12
ircbot/console.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include "console.h"
|
||||
|
||||
void Console::appendAdvancedMsg(const QString& msg)
|
||||
{
|
||||
append(msg);
|
||||
}
|
||||
|
||||
void Console::appendSimpleMsg(const QString& msg)
|
||||
{
|
||||
// TODO
|
||||
append(msg);
|
||||
}
|
17
ircbot/console.h
Normal file
17
ircbot/console.h
Normal file
@ -0,0 +1,17 @@
|
||||
#ifndef CONSOLE_H
|
||||
#define CONSOLE_H
|
||||
|
||||
#include <QTextBrowser>
|
||||
|
||||
class Console : public QTextBrowser
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
Console(QWidget*& w) : QTextBrowser(w) {}
|
||||
|
||||
public slots:
|
||||
void appendAdvancedMsg(const QString& msg);
|
||||
void appendSimpleMsg(const QString& msg);
|
||||
};
|
||||
|
||||
#endif // CONSOLE_H
|
@ -18,6 +18,11 @@ void IRCBot::receiveMsg(QString str)
|
||||
}
|
||||
}
|
||||
|
||||
QString IRCBot::getChan()
|
||||
{
|
||||
return chan;
|
||||
}
|
||||
|
||||
void IRCBot::addModule(Module* module)
|
||||
{
|
||||
modules.push_back(module);
|
||||
|
@ -23,6 +23,7 @@ public:
|
||||
public:
|
||||
void addModule(Module* module);
|
||||
BaseModule* getBaseModule();
|
||||
QString getChan();
|
||||
|
||||
public slots:
|
||||
void receiveMsg(QString msg);
|
||||
|
@ -15,7 +15,8 @@ SOURCES += mainwindow.cpp \
|
||||
ircbot.cpp \
|
||||
botapp.cpp \
|
||||
module.cpp \
|
||||
basemodule.cpp
|
||||
basemodule.cpp \
|
||||
console.cpp
|
||||
|
||||
HEADERS += mainwindow.h \
|
||||
socketirc.h \
|
||||
@ -25,6 +26,7 @@ HEADERS += mainwindow.h \
|
||||
ircbot.h \
|
||||
botapp.h \
|
||||
module.h \
|
||||
basemodule.h
|
||||
basemodule.h \
|
||||
console.h
|
||||
|
||||
FORMS += mainwindow.ui
|
||||
|
@ -3,21 +3,32 @@
|
||||
#include <QTextBrowser>
|
||||
#include "prompt.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) :
|
||||
MainWindow::MainWindow(const QString &myChan, QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->simplePrompt->setChan(myChan);
|
||||
}
|
||||
|
||||
QTextBrowser* MainWindow::getConsole()
|
||||
Console* MainWindow::getAdvancedConsole()
|
||||
{
|
||||
return this->ui->monitoringConsole;
|
||||
return this->ui->advancedConsole;
|
||||
}
|
||||
|
||||
Prompt* MainWindow::getPrompt()
|
||||
Prompt* MainWindow::getAdvancedPrompt()
|
||||
{
|
||||
return this->ui->prompt;
|
||||
return this->ui->advancedPrompt;
|
||||
}
|
||||
|
||||
Console* MainWindow::getSimpleConsole()
|
||||
{
|
||||
return this->ui->simpleConsole;
|
||||
}
|
||||
|
||||
Prompt* MainWindow::getSimplePrompt()
|
||||
{
|
||||
return this->ui->simplePrompt;
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include <QMainWindow>
|
||||
|
||||
class Prompt;
|
||||
class Console;
|
||||
class QTextBrowser;
|
||||
namespace Ui {
|
||||
class MainWindow;
|
||||
@ -14,11 +15,13 @@ class MainWindow : public QMainWindow
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = 0);
|
||||
explicit MainWindow(const QString &myChan, QWidget *parent = 0);
|
||||
~MainWindow();
|
||||
|
||||
QTextBrowser* getConsole();
|
||||
Prompt* getPrompt();
|
||||
Console* getAdvancedConsole();
|
||||
Prompt* getAdvancedPrompt();
|
||||
Console* getSimpleConsole();
|
||||
Prompt* getSimplePrompt();
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
};
|
||||
|
@ -15,11 +15,68 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QTextBrowser" name="monitoringConsole"/>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="Prompt" name="prompt"/>
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="advancedTab">
|
||||
<attribute name="title">
|
||||
<string>Advanced</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="Console" name="advancedConsole"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Prompt" name="advancedPrompt"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="simpleTab">
|
||||
<attribute name="title">
|
||||
<string>Simple</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>9</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="Console" name="simpleConsole"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Prompt" name="simplePrompt"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@ -31,6 +88,11 @@
|
||||
<extends>QLineEdit</extends>
|
||||
<header>prompt.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>Console</class>
|
||||
<extends>QTextBrowser</extends>
|
||||
<header>console.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
@ -1,8 +1,20 @@
|
||||
#include "prompt.h"
|
||||
|
||||
void Prompt::confirmationPerformed()
|
||||
Prompt::setChan(const QString& myChan)
|
||||
{
|
||||
chan = myChan;
|
||||
}
|
||||
|
||||
void Prompt::advancedConfirmationPerformed()
|
||||
{
|
||||
QString str = text();
|
||||
clear();
|
||||
emit sendMsg(str.append("\r\n"));
|
||||
}
|
||||
|
||||
void Prompt::simpleConfirmationPerformed()
|
||||
{
|
||||
QString str = QString("PRIVMSG #%1 :%2\r\n").arg(chan).arg(text());
|
||||
clear();
|
||||
emit sendMsg(str);
|
||||
}
|
||||
|
@ -6,11 +6,16 @@
|
||||
class Prompt : public QLineEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
QString chan;
|
||||
public:
|
||||
Prompt(QWidget*& w) : QLineEdit(w) {}
|
||||
Prompt(QWidget*& w) : QLineEdit(w), chan("epicsparrow") {}
|
||||
|
||||
setChan(const QString& myChan);
|
||||
|
||||
public slots:
|
||||
void confirmationPerformed();
|
||||
void advancedConfirmationPerformed();
|
||||
void simpleConfirmationPerformed();
|
||||
|
||||
signals:
|
||||
void sendMsg(QString);
|
||||
|
Loading…
x
Reference in New Issue
Block a user