aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/theme
diff options
context:
space:
mode:
authorGravatar Fabio Bas2010-10-18 10:26:31 +0000
committerGravatar Fabio Bas2010-10-18 10:26:31 +0000
commit580281126e8770dc35104bd8c3130b7cc0698988 (patch)
treea11824ace4d761f3eded4249c0385822e29589a7 /src/modules/theme
parentadded shortcut ctrl+0 for "restore default font and size in the ircview" , tr... (diff)
downloadKVIrc-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.cpp11
-rw-r--r--src/modules/theme/managementdialog.cpp35
-rw-r--r--src/modules/theme/managementdialog.h18
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_