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/theme | |
| 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/theme')
| -rw-r--r-- | src/modules/theme/libkvitheme.cpp | 11 | ||||
| -rw-r--r-- | src/modules/theme/managementdialog.cpp | 35 | ||||
| -rw-r--r-- | src/modules/theme/managementdialog.h | 18 |
3 files changed, 39 insertions, 25 deletions
diff --git a/src/modules/theme/libkvitheme.cpp b/src/modules/theme/libkvitheme.cpp index 208b27190..dff7d4f05 100644 --- a/src/modules/theme/libkvitheme.cpp +++ b/src/modules/theme/libkvitheme.cpp @@ -263,14 +263,17 @@ static bool theme_kvs_cmd_screenshot(KviKvsModuleCommandCall * c) @short: Shows the theme theme management editor @syntax: - theme.dialog + theme.dialog [-t] @description: - Shows the theme theme management editor + Shows the theme theme 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 theme_kvs_cmd_dialog(KviKvsModuleCommandCall *) +static bool theme_kvs_cmd_dialog(KviKvsModuleCommandCall *c) { - KviThemeManagementDialog::display(); + + KviThemeManagementDialog::display(c->hasSwitch('t',"toplevel")); return true; } diff --git a/src/modules/theme/managementdialog.cpp b/src/modules/theme/managementdialog.cpp index 3ed25109e..85ec9d231 100644 --- a/src/modules/theme/managementdialog.cpp +++ b/src/modules/theme/managementdialog.cpp @@ -60,6 +60,7 @@ #include <QImage> #include <QBuffer> #include <QCloseEvent> +#include <QSplitter> #include <QTextDocument> #include <QAbstractTextDocumentLayout> @@ -106,15 +107,13 @@ KviThemeManagementDialog * KviThemeManagementDialog::m_pInstance = 0; KviThemeManagementDialog::KviThemeManagementDialog(QWidget * parent) -: QDialog(parent) +: QWidget(parent) { m_pItemDelegate=0; setObjectName("theme_options_widget"); setWindowTitle(__tr2qs_ctx("Manage Themes - KVIrc","theme")); setWindowIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_THEME))); - setModal(true); - m_pInstance = this; QGridLayout * g = new QGridLayout(this); @@ -225,11 +224,33 @@ void KviThemeManagementDialog::closeClicked() m_pInstance = 0; } -void KviThemeManagementDialog::display() +void KviThemeManagementDialog::display(bool bTopLevel) { - if(!m_pInstance) - m_pInstance = new KviThemeManagementDialog(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 KviThemeManagementDialog(0); + } else { + m_pInstance = new KviThemeManagementDialog(g_pFrame->splitter()); + } + } m_pInstance->show(); + m_pInstance->raise(); + m_pInstance->setFocus(); } void KviThemeManagementDialog::cleanup() @@ -359,7 +380,7 @@ void KviThemeManagementDialog::fillThemeBox(const QString &szDir) if(inf->loadFromDirectory(szTest)) { inf->setSubdirectory(*it); - KviThemeListWidgetItem * item = new KviThemeListWidgetItem(m_pListWidget,inf); + new KviThemeListWidgetItem(m_pListWidget,inf); } else { delete inf; } diff --git a/src/modules/theme/managementdialog.h b/src/modules/theme/managementdialog.h index 4cbc33938..88bb670e3 100644 --- a/src/modules/theme/managementdialog.h +++ b/src/modules/theme/managementdialog.h @@ -31,7 +31,7 @@ #include "kvi_tal_wizard.h" #include "kvi_tal_listwidget.h" -#include <QDialog> +#include <QWidget> #include <QComboBox> #include <QCursor> #include <QTextDocument> @@ -57,7 +57,7 @@ public: }; -class KviThemeManagementDialog : public QDialog +class KviThemeManagementDialog : public QWidget { Q_OBJECT public: @@ -72,7 +72,7 @@ protected: QToolButton * m_pPackThemeButton; public: static KviThemeManagementDialog * instance(){ return m_pInstance; }; - static void display(); + static void display(bool bTopLevel); static void cleanup(); protected: void fillThemeBox(const QString &szDir); @@ -93,15 +93,5 @@ protected slots: //void tipRequest(KviDynamicToolTip *pTip,const QPoint &pnt); void tipRequest(QListWidgetItem *item,const QPoint &pnt); }; -/* -class KviThemeDelegate : public QItemDelegate -{ -public: - KviThemeDelegate(QListWidget * pWidget) - : QItemDelegate(pWidget){}; - ~KviThemeDelegate(){}; - QSize sizeHint(const QStyleOptionViewItem &option,const QModelIndex &index) const; - void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const; -}; -*/ + #endif //!_MANAGEMENTDIALOG_H_ |
