diff options
| author | 2010-10-18 10:26:31 +0000 | |
|---|---|---|
| committer | 2010-10-18 10:26:31 +0000 | |
| commit | 580281126e8770dc35104bd8c3130b7cc0698988 (patch) | |
| tree | a11824ace4d761f3eded4249c0385822e29589a7 /src/modules/addon | |
| parent | added shortcut ctrl+0 for "restore default font and size in the ircview" , tr... (diff) | |
| download | KVIrc-580281126e8770dc35104bd8c3130b7cc0698988.tar.gz KVIrc-580281126e8770dc35104bd8c3130b7cc0698988.tar.bz2 KVIrc-580281126e8770dc35104bd8c3130b7cc0698988.zip | |
fix for #976
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5090 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/addon')
| -rw-r--r-- | src/modules/addon/libkviaddon.cpp | 11 | ||||
| -rw-r--r-- | src/modules/addon/managementdialog.cpp | 32 | ||||
| -rw-r--r-- | src/modules/addon/managementdialog.h | 5 |
3 files changed, 36 insertions, 12 deletions
diff --git a/src/modules/addon/libkviaddon.cpp b/src/modules/addon/libkviaddon.cpp index 6bfe7bedf..e3a50677d 100644 --- a/src/modules/addon/libkviaddon.cpp +++ b/src/modules/addon/libkviaddon.cpp @@ -765,14 +765,17 @@ static bool addon_kvs_cmd_installfiles(KviKvsModuleCommandCall * c) @short: Shows the addon addon management editor @syntax: - addon.dialog + addon.dialog [-t] @description: - Shows the addon addon management editor + Shows the addon addon management editor.[br] + If the [-t] switch is used, the dialog is opened as toplevel window, + otherwise it is opened as part of the current frame window.[br] */ -static bool addon_kvs_cmd_dialog(KviKvsModuleCommandCall *) +static bool addon_kvs_cmd_dialog(KviKvsModuleCommandCall *c) { - KviScriptManagementDialog::display(); + + KviScriptManagementDialog::display(c->hasSwitch('t',"toplevel")); return true; } diff --git a/src/modules/addon/managementdialog.cpp b/src/modules/addon/managementdialog.cpp index 9b6b4db5f..87726bcac 100644 --- a/src/modules/addon/managementdialog.cpp +++ b/src/modules/addon/managementdialog.cpp @@ -87,7 +87,7 @@ KviScriptAddonListViewItem::~KviScriptAddonListViewItem() } KviScriptManagementDialog::KviScriptManagementDialog(QWidget * p) -: QDialog(p) +: QWidget(p) { setWindowTitle(__tr2qs_ctx("Manage Script-Based Addons","addon")); setObjectName("Addon manager"); @@ -324,7 +324,7 @@ void KviScriptManagementDialog::showEvent(QShowEvent * e) QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); move((rect.width() - width())/2,(rect.height() - height())/2); - QDialog::showEvent(e); + QWidget::showEvent(e); } void KviScriptManagementDialog::closeClicked() @@ -339,11 +339,33 @@ void KviScriptManagementDialog::cleanup() m_pInstance = 0; } -void KviScriptManagementDialog::display() +void KviScriptManagementDialog::display(bool bTopLevel) { - if(m_pInstance)return; - m_pInstance = new KviScriptManagementDialog(g_pFrame); + if(m_pInstance) + { + if(bTopLevel) + { + if(m_pInstance->parent()) + { + m_pInstance->setParent(0); + } + } else { + if(m_pInstance->parent() != g_pFrame->splitter()) + { + m_pInstance->setParent(g_pFrame->splitter()); + } + } + } else { + if(bTopLevel) + { + m_pInstance = new KviScriptManagementDialog(0); + } else { + m_pInstance = new KviScriptManagementDialog(g_pFrame->splitter()); + } + } m_pInstance->show(); + m_pInstance->raise(); + m_pInstance->setFocus(); } void KviScriptManagementDialog::closeEvent(QCloseEvent * e) diff --git a/src/modules/addon/managementdialog.h b/src/modules/addon/managementdialog.h index cfcfe8f31..0ffe31987 100644 --- a/src/modules/addon/managementdialog.h +++ b/src/modules/addon/managementdialog.h @@ -29,7 +29,6 @@ #include <QWidget> #include <QLabel> -#include <QDialog> #include <QColor> #include <QTextDocument> #include <QListWidget> @@ -55,7 +54,7 @@ public: }; -class KviScriptManagementDialog : public QDialog +class KviScriptManagementDialog : public QWidget { Q_OBJECT protected: @@ -71,7 +70,7 @@ protected: QToolButton * m_pUninstallButton; public: static KviScriptManagementDialog * instance(){ return m_pInstance; }; - static void display(); + static void display(bool bTopLevel); static void cleanup(); protected: void fillListView(); |
