diff options
Diffstat (limited to 'src/modules/codetester')
| -rw-r--r-- | src/modules/codetester/CodeTesterWindow.cpp | 47 | ||||
| -rw-r--r-- | src/modules/codetester/CodeTesterWindow.h | 33 |
2 files changed, 36 insertions, 44 deletions
diff --git a/src/modules/codetester/CodeTesterWindow.cpp b/src/modules/codetester/CodeTesterWindow.cpp index 1e8b4a762..951553b2c 100644 --- a/src/modules/codetester/CodeTesterWindow.cpp +++ b/src/modules/codetester/CodeTesterWindow.cpp @@ -34,6 +34,7 @@ #include "KviConsoleWindow.h" #include "KviKvsScript.h" #include "KviKvsVariantList.h" +#include "KviIrcView.h" #include <QPushButton> #include <QLayout> @@ -44,11 +45,19 @@ extern std::unordered_set<CodeTesterWindow *> g_pCodeTesterWindowList; -CodeTesterWidget::CodeTesterWidget(QWidget * par) - : QWidget(par) +CodeTesterWindow::CodeTesterWindow() + : KviWindow(KviWindow::ScriptEditor, "codetester", nullptr) { + g_pCodeTesterWindowList.insert(this); setObjectName("code_tester"); - QGridLayout * g = new QGridLayout(this); + + m_pSplitter = new KviTalSplitter(Qt::Horizontal, this); + m_pSplitter->setObjectName("main_splitter"); + m_pSplitter->setChildrenCollapsible(false); + + // layouts can't be added to splitters directly, so we embed the layout in a widget. + QWidget * l = new QWidget(this); + QGridLayout * g = new QGridLayout(l); m_pEditor = KviScriptEditor::createInstance(this); g->addWidget(m_pEditor, 0, 0, 1, 4); @@ -61,36 +70,28 @@ CodeTesterWidget::CodeTesterWidget(QWidget * par) m_pParams = new QLineEdit(this); m_pParams->setToolTip(__tr2qs_ctx("Here you can specify a semicolon-separated list of parameters that will be available in the code as $0, $1, $2, ..", "editor")); g->addWidget(m_pParams, 1, 2); + + m_pSplitter->addWidget(l); + + m_pIrcView = new KviIrcView(m_pSplitter, this); + + QList<int> li { width() / 2, width() / 2 }; + m_pSplitter->setSizes(li); } -CodeTesterWidget::~CodeTesterWidget() +CodeTesterWindow::~CodeTesterWindow() { KviScriptEditor::destroyInstance(m_pEditor); + g_pCodeTesterWindowList.erase(this); } -//#warning "Allow to bind the command to a specified window" - -void CodeTesterWidget::execute() +void CodeTesterWindow::execute() { QString buffer; m_pEditor->getText(buffer); - KviConsoleWindow * pConsole = g_pApp->activeConsole(); QStringList slParams = m_pParams->text().split(';'); KviKvsVariantList params{&slParams}; - KviKvsScript::run(buffer, pConsole, ¶ms); -} - -CodeTesterWindow::CodeTesterWindow() - : KviWindow(KviWindow::ScriptEditor, "codetester", nullptr) -{ - g_pCodeTesterWindowList.insert(this); - - m_pTester = new CodeTesterWidget(this); -} - -CodeTesterWindow::~CodeTesterWindow() -{ - g_pCodeTesterWindowList.erase(this); + KviKvsScript::run(buffer, this, ¶ms); } QPixmap * CodeTesterWindow::myIconPtr() @@ -100,7 +101,7 @@ QPixmap * CodeTesterWindow::myIconPtr() void CodeTesterWindow::resizeEvent(QResizeEvent *) { - m_pTester->setGeometry(0, 0, width(), height()); + m_pSplitter->setGeometry(0, 0, width(), height()); } void CodeTesterWindow::fillCaptionBuffers() diff --git a/src/modules/codetester/CodeTesterWindow.h b/src/modules/codetester/CodeTesterWindow.h index 992ce52e5..d71dbbf31 100644 --- a/src/modules/codetester/CodeTesterWindow.h +++ b/src/modules/codetester/CodeTesterWindow.h @@ -33,39 +33,30 @@ class QPushButton; class QLabel; class KviScriptEditor; -class CodeTesterWidget : public QWidget +class CodeTesterWindow : public KviWindow { Q_OBJECT public: - CodeTesterWidget(QWidget * par); - ~CodeTesterWidget(); + CodeTesterWindow(); + ~CodeTesterWindow(); private: + KviTalSplitter * m_pSplitter; KviScriptEditor * m_pEditor; - QLineEdit * m_pParams; QPushButton * m_pExecuteButton; QLabel * m_pModeLabel; + QLineEdit * m_pParams; + private slots: void execute(); -}; - -class CodeTesterWindow : public KviWindow -{ - Q_OBJECT -public: - CodeTesterWindow(); - ~CodeTesterWindow(); - -protected: - CodeTesterWidget * m_pTester; protected: - virtual QPixmap * myIconPtr(); - virtual void fillCaptionBuffers(); - virtual void resizeEvent(QResizeEvent * e); - virtual void getConfigGroupName(QString & szName); - virtual void saveProperties(KviConfigurationFile *){}; - virtual void loadProperties(KviConfigurationFile *){}; + QPixmap * myIconPtr() override; + void fillCaptionBuffers() override; + void resizeEvent(QResizeEvent * e) override; + void getConfigGroupName(QString & szName) override; + void saveProperties(KviConfigurationFile *) override {} + void loadProperties(KviConfigurationFile *) override {} }; #endif //_CODETESTER_H_ |
