aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options
diff options
context:
space:
mode:
authorGravatar Fabio Bas2008-09-19 17:33:33 +0000
committerGravatar Fabio Bas2008-09-19 17:33:33 +0000
commit680819017669fc10ffd29218048e4fb3d414eea2 (patch)
tree5b493532289f7050116f876f79164b393d957665 /src/modules/options
parenttypo, thx to Caladiel again (diff)
downloadKVIrc-680819017669fc10ffd29218048e4fb3d414eea2.tar.gz
KVIrc-680819017669fc10ffd29218048e4fb3d414eea2.tar.bz2
KVIrc-680819017669fc10ffd29218048e4fb3d414eea2.zip
a small fix for windows on the windowlist
broken the options module with the excuse to port it git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2502 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/options')
-rw-r--r--src/modules/options/dialog.cpp186
-rw-r--r--src/modules/options/dialog.h30
-rw-r--r--src/modules/options/instances.cpp2
-rwxr-xr-xsrc/modules/options/mkcreateinstanceproc.sh2
-rw-r--r--src/modules/options/optw_messages.cpp142
-rw-r--r--src/modules/options/optw_messages.h34
6 files changed, 213 insertions, 183 deletions
diff --git a/src/modules/options/dialog.cpp b/src/modules/options/dialog.cpp
index 94a8a347b..591b9a69a 100644
--- a/src/modules/options/dialog.cpp
+++ b/src/modules/options/dialog.cpp
@@ -48,8 +48,8 @@
#include <QCloseEvent>
#include <QShortcut>
#include <QHeaderView>
+
//FIXME: some headers must be hidden
-//#include <q3header.h>
//extern KviModule * g_pOptionsModule;
@@ -74,29 +74,29 @@ KviGeneralOptionsFrontWidget::~KviGeneralOptionsFrontWidget()
}
-KviOptionsListViewItem::KviOptionsListViewItem(KviTalListView *parent,KviOptionsWidgetInstanceEntry * e)
-:KviTalListViewItem(parent,e->szName)
+KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(KviTalTreeWidget *parent,KviOptionsWidgetInstanceEntry * e)
+:KviTalTreeWidgetItem(parent,e->szName)
{
m_pInstanceEntry = e;
m_pOptionsWidget = 0;
m_bHighlighted = false;
- setPixmap(0,*(g_pIconManager->getSmallIcon(e->iIcon)));
+ setIcon(0,*(g_pIconManager->getSmallIcon(e->iIcon)));
}
-KviOptionsListViewItem::KviOptionsListViewItem(KviTalListViewItem *parent,KviOptionsWidgetInstanceEntry * e)
-:KviTalListViewItem(parent,e->szName)
+KviOptionsTreeWidgetItem::KviOptionsTreeWidgetItem(KviTalTreeWidgetItem *parent,KviOptionsWidgetInstanceEntry * e)
+:KviTalTreeWidgetItem(parent,e->szName)
{
m_pInstanceEntry = e;
m_pOptionsWidget = 0;
m_bHighlighted = false;
- setPixmap(0,*(g_pIconManager->getSmallIcon(e->iIcon)));
+ setIcon(0,*(g_pIconManager->getSmallIcon(e->iIcon)));
}
-KviOptionsListViewItem::~KviOptionsListViewItem()
+KviOptionsTreeWidgetItem::~KviOptionsTreeWidgetItem()
{
}
-
-void KviOptionsListViewItem::paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align)
+/*
+void KviOptionsTreeWidgetItem::paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align)
{
if(m_bHighlighted)
{
@@ -104,19 +104,19 @@ void KviOptionsListViewItem::paintCell(QPainter * p,const QColorGroup & cg,int c
tmp.setColor(QColorGroup::Base,Qt::red);
tmp.setColor(QColorGroup::Background,Qt::red);
tmp.setColor(QColorGroup::Text,Qt::yellow);
- KviTalListViewItem::paintCell(p,tmp,column,width,align);
+ KviTalTreeWidgetItem::paintCell(p,tmp,column,width,align);
} else {
- KviTalListViewItem::paintCell(p,cg,column,width,align);
+ KviTalTreeWidgetItem::paintCell(p,cg,column,width,align);
}
}
-
+*/
KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
: QDialog(par)
{
setObjectName("general_options_dialog");
- setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_KVIRC)));
+ setWindowIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_KVIRC)));
m_szGroup = szGroup;
@@ -140,7 +140,7 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
QString szInfoTips;
szInfoTips = __tr2qs_ctx("Many settings have tooltips that can be shown by holding " \
- "the cursor over their label for a few seconds.","options");
+ "the cursor over their label for a few seconds.","options");
QString szOkCancelButtons = __tr2qs_ctx("When you have finished, click \"<b>OK</b>\" to accept your changes " \
"or \"<b>Cancel</b>\" to discard them. Clicking \"<b>Apply</b>\" will commit your " \
@@ -179,20 +179,20 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
QGridLayout * g1 = new QGridLayout(this);
QSplitter * spl = new QSplitter(Qt::Horizontal,this);
- g1->addMultiCellWidget(spl,0,0,0,4);
+ g1->addWidget(spl,0,0,0,4);
KviTalVBox * vbox = new KviTalVBox(spl);
vbox->setSpacing(2);
vbox->setMargin(0);
// Controlling list view
- m_pListView = new KviTalListView(vbox);
- m_pListView->addColumn("");
- // This does not work in Qt4
- //m_pListView->header()->hide();
- m_pListView->setRootIsDecorated(true);
- m_pListView->setSorting(-1);
- connect(m_pListView,SIGNAL(selectionChanged(KviTalListViewItem *)),this,SLOT(listViewItemSelectionChanged(KviTalListViewItem *)));
+ m_pTreeWidget = new KviTalTreeWidget(vbox);
+ m_pTreeWidget->addColumn("");
+
+ m_pTreeWidget->header()->hide();
+ m_pTreeWidget->setRootIsDecorated(true);
+// m_pTreeWidget->setSorting(-1);
+ connect(m_pTreeWidget,SIGNAL(currentItemChanged(KviTalTreeWidgetItem* it, KviTalTreeWidgetItem *prev)),this,SLOT(treeWidgetItemSelectionChanged(KviTalTreeWidgetItem* it, KviTalTreeWidgetItem *prev)));
KviTalHBox * hbox = new KviTalHBox(vbox);
vbox->setSpacing(0);
@@ -201,7 +201,7 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
m_pSearchLineEdit = new QLineEdit(hbox);
connect(m_pSearchLineEdit,SIGNAL(returnPressed()),this,SLOT(searchClicked()));
m_pSearchButton = new QToolButton(hbox);
- m_pSearchButton->setUsesBigPixmap(false);
+ m_pSearchButton->setIconSize(QSize(16,16));
m_pSearchButton->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SEARCH)));
connect(m_pSearchButton,SIGNAL(clicked()),this,SLOT(searchClicked()));
connect(m_pSearchLineEdit,SIGNAL(textChanged(const QString &)),this,SLOT(searchLineEditTextChanged(const QString &)));
@@ -219,7 +219,8 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
vbox->setSpacing(2);
vbox->setMargin(0);
- m_pCategoryLabel = new QLabel("<b>&nbsp;</b>",vbox,"labgeneraloptions");
+ m_pCategoryLabel = new QLabel("<b>&nbsp;</b>",vbox);
+ m_pCategoryLabel->setObjectName("labgeneraloptions");
//m_pCategoryLabel->setMargin(3);
QFrame * f = new QFrame(vbox);
@@ -237,20 +238,23 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
m_pWidgetStack->widget(idx)->raise();
// Ok,Cancel,Help
- QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this,"btnok");
+ QPushButton * b = new QPushButton(__tr2qs_ctx("&OK","options"),this);
+ b->setObjectName("btnok");
KviTalToolTip::add(b,__tr2qs_ctx("Close this dialog, accepting all changes.","options"));
connect(b,SIGNAL(clicked()),this,SLOT(okClicked()));
//b->setMinimumWidth(whatIsThisWidth);
b->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT)));
- g1->addWidget(b,1,2);
+ g1->addWidget(b,1,2);
- b = new QPushButton(__tr2qs_ctx("&Apply","options"),this,"btnapply");
+ b = new QPushButton(__tr2qs_ctx("&Apply","options"),this);
+ b->setObjectName("btnapply");
KviTalToolTip::add(b,__tr2qs_ctx("Commit all changes immediately.","options"));
connect(b,SIGNAL(clicked()),this,SLOT(applyClicked()));
b->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT)));
g1->addWidget(b,1,3);
- b = new QPushButton(__tr2qs_ctx("Cancel","options"),this,"btncancel");
+ b = new QPushButton(__tr2qs_ctx("Cancel","options"),this);
+ b->setObjectName("btncancel");
KviTalToolTip::add(b,__tr2qs_ctx("Close this dialog, discarding all changes.","options"));
b->setDefault(true);
//b->setMinimumWidth(whatIsThisWidth);
@@ -262,8 +266,8 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
g1->setColumnStretch(1,1);
- fillListView(0,g_pOptionsInstanceManager->instanceEntryTree(),szGroup);
-
+ fillTreeWidget(0,g_pOptionsInstanceManager->instanceEntryTree(),szGroup);
+
if(!parent())
{
if(KVI_OPTION_RECT(KviOption_rectGeneralOptionsDialogGeometry).y() < 5)
@@ -295,7 +299,7 @@ void KviOptionsDialog::searchLineEditTextChanged(const QString &)
m_pSearchButton->setEnabled(txt.length() > 0);
}
-bool KviOptionsDialog::recursiveSearch(KviOptionsListViewItem * pItem,const QStringList &lKeywords)
+bool KviOptionsDialog::recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QStringList &lKeywords)
{
//qDebug("recursive search:");
if(!pItem)return false;
@@ -310,9 +314,9 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsListViewItem * pItem,const QStr
KviPointerHashTable<void *,bool> lOptionWidgetsToMark;
lOptionWidgetsToMark.setAutoDelete(true);
QTabWidget * pTabWidgetToMark = 0;
-
+
QObject * o;
- QObjectList ol = pItem->m_pOptionsWidget->queryList();
+ QObjectList ol = pItem->m_pOptionsWidget->children();
if(ol.count() > 0)
{
for(QObjectList::Iterator it = ol.begin();it != ol.end();++it)
@@ -340,7 +344,7 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsListViewItem * pItem,const QStr
{
bFoundSomethingHere = true;
}
-
+
if(o->inherits("QWidget"))
{
QWidget* pWidget=(QWidget*)o;
@@ -393,7 +397,7 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsListViewItem * pItem,const QStr
while(bool * pBool = it.current())
{
KviOptionsWidget * pOptionsWidget = (KviOptionsWidget *)it.currentKey();
- QString szTxt = pTabWidgetToMark->tabLabel(pOptionsWidget);
+ QString szTxt = pTabWidgetToMark->tabText(pTabWidgetToMark->indexOf(pOptionsWidget));
if(KviQString::equalCIN(szTxt,">>> ",4))
{
szTxt.replace(">>> ","");
@@ -404,44 +408,49 @@ bool KviOptionsDialog::recursiveSearch(KviOptionsListViewItem * pItem,const QStr
szTxt.insert(0,">>> ");
szTxt += QString(" <<<");
}
- pTabWidgetToMark->setTabLabel(pOptionsWidget,szTxt);
+ pTabWidgetToMark->setTabText(pTabWidgetToMark->indexOf(pOptionsWidget), szTxt);
++it;
}
}
pItem->setHighlighted(bFoundSomethingHere);
- KviOptionsListViewItem * pChild = (KviOptionsListViewItem *)pItem->firstChild();
bool bFoundSomethingInside = false;
- while(pChild)
+ int ccount = pItem->childCount();
+ if(ccount > 0)
{
- bool bRet = recursiveSearch(pChild,lKeywords);
- if(bRet)bFoundSomethingInside = true;
- pChild = (KviOptionsListViewItem *)(pChild->nextSibling());
+ for(int j=0;j<ccount;j++)
+ {
+ KviOptionsTreeWidgetItem * pChild = (KviOptionsTreeWidgetItem *)pItem->child(j);
+
+ bool bRet = recursiveSearch(pChild,lKeywords);
+ if(bRet)bFoundSomethingInside = true;
+ }
}
+
pItem->setSelected(false);
- m_pListView->setOpen(pItem,bFoundSomethingInside);
+ pItem->setExpanded(bFoundSomethingInside);
return (bFoundSomethingInside || bFoundSomethingHere);
}
void KviOptionsDialog::search(const QStringList &lKeywords)
{
- m_pListView->setUpdatesEnabled(false);
+ m_pTreeWidget->setUpdatesEnabled(false);
- KviOptionsListViewItem * pChild = (KviOptionsListViewItem *)(m_pListView->firstChild());
bool bFoundSomethingInside = false;
- while(pChild)
+ int count=m_pTreeWidget->topLevelItemCount();
+ for (int i=0;i<count;i++)
{
+ KviOptionsTreeWidgetItem * pChild = (KviOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
bFoundSomethingInside = recursiveSearch(pChild,lKeywords);
- pChild = (KviOptionsListViewItem *)(pChild->nextSibling());
}
- m_pListView->setUpdatesEnabled(true);
- m_pListView->triggerUpdate();
+ m_pTreeWidget->setUpdatesEnabled(true);
+ m_pTreeWidget->update();
}
void KviOptionsDialog::search(const QString &szKeywords)
{
- QStringList lKeywords = QStringList::split(" ",szKeywords,false);
+ QStringList lKeywords = szKeywords.split(" ",QString::SkipEmptyParts);
search(lKeywords);
}
@@ -452,11 +461,11 @@ void KviOptionsDialog::searchClicked()
search(szTxt);
}
-void KviOptionsDialog::fillListView(KviTalListViewItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l,const QString &szGroup,bool bNotContainedOnly)
+void KviOptionsDialog::fillTreeWidget(KviTalTreeWidgetItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l,const QString &szGroup,bool bNotContainedOnly)
{
if(!l)return;
- KviOptionsListViewItem * it;
+ KviOptionsTreeWidgetItem * it;
KviOptionsWidgetInstanceEntry * e;
KviPointerList<KviOptionsWidgetInstanceEntry> tmp;
@@ -483,37 +492,37 @@ void KviOptionsDialog::fillListView(KviTalListViewItem * p,KviPointerList<KviOpt
{
if(e->bDoInsert)
{
- if(p)it = new KviOptionsListViewItem(p,e);
- else it = new KviOptionsListViewItem(m_pListView,e);
+ if(p)it = new KviOptionsTreeWidgetItem(p,e);
+ else it = new KviOptionsTreeWidgetItem(m_pTreeWidget,e);
if(!it->m_pOptionsWidget)
{
it->m_pOptionsWidget = g_pOptionsInstanceManager->getInstance(it->m_pInstanceEntry,m_pWidgetStack);
m_pWidgetStack->addWidget(it->m_pOptionsWidget);
}
} else {
- it = (KviOptionsListViewItem *)p;
+ it = (KviOptionsTreeWidgetItem *)p;
}
-
+
if(e->pChildList)
{
if(e->bIsContainer)
{
// it's a container: add only eventual not contained children (containers or explicitly marked as not contained)
- fillListView(it,e->pChildList,szGroup,true);
+ fillTreeWidget(it,e->pChildList,szGroup,true);
} else {
// it's not a container, add any children
- fillListView(it,e->pChildList,szGroup,false);
+ fillTreeWidget(it,e->pChildList,szGroup,false);
}
}
}
}
-void KviOptionsDialog::listViewItemSelectionChanged(KviTalListViewItem *it)
+void KviOptionsDialog::treeWidgetItemSelectionChanged(KviTalTreeWidgetItem* it, KviTalTreeWidgetItem *prev)
{
if(it)
{
QString str = it->text(0);
- KviTalListViewItem * par = it->parent();
+ KviTalTreeWidgetItem * par = it->parent();
while(par)
{
@@ -524,7 +533,7 @@ void KviOptionsDialog::listViewItemSelectionChanged(KviTalListViewItem *it)
str.prepend("<b>");
str += "</b>";
- KviOptionsListViewItem *i = (KviOptionsListViewItem *)it;
+ KviOptionsTreeWidgetItem *i = (KviOptionsTreeWidgetItem *)it;
if(!i->m_pOptionsWidget)
{
i->m_pOptionsWidget = g_pOptionsInstanceManager->getInstance(i->m_pInstanceEntry,m_pWidgetStack);
@@ -536,23 +545,34 @@ void KviOptionsDialog::listViewItemSelectionChanged(KviTalListViewItem *it)
m_pCategoryLabel->setText(str);
}
}
-
-KviOptionsListViewItem * KviOptionsDialog::findItemByPage(KviOptionsListViewItem *it,KviOptionsWidget * pPage)
+/*
+KviOptionsTreeWidgetItem * KviOptionsDialog::findItemByPage(KviOptionsTreeWidgetItem *it,KviOptionsWidget * pPage)
{
if(!it)return 0;
if(it->m_pOptionsWidget == pPage)return it;
- KviOptionsListViewItem *i;
- // run through the children
- i = (KviOptionsListViewItem *)(it->firstChild());
- if(i)
+ KviOptionsTreeWidgetItem *i;
+
+ int ccount = it->childCount();
+
+ for(int j=0;j<ccount;j++)
{
+ KviOptionsTreeWidgetItem * i = (KviOptionsTreeWidgetItem *)it->child(j);
+
i = findItemByPage(i,pPage);
if(i)return i;
}
-
+
// not found in the children tree.. look in the next sibling
- i = (KviOptionsListViewItem *)(it->nextSibling());
+ for(int j=0;j<ccount;j++)
+ {
+ KviOptionsTreeWidgetItem * pChild = (KviOptionsTreeWidgetItem *)pItem->child(j);
+
+ i = findItemByPage(i,pPage);
+ if(i)return i;
+ }
+
+ i = (KviOptionsTreeWidgetItem *)(it->nextSibling());
if(i)
{
i = findItemByPage(i,pPage);
@@ -560,7 +580,7 @@ KviOptionsListViewItem * KviOptionsDialog::findItemByPage(KviOptionsListViewItem
}
return 0;
}
-
+*/
void KviOptionsDialog::pageWantsToSwitchToAdvancedPage(KviOptionsWidget * pPage)
{
// unused
@@ -573,19 +593,20 @@ void KviOptionsDialog::applyClicked()
void KviOptionsDialog::apply(bool bDialogAboutToClose)
{
+ int count=m_pTreeWidget->topLevelItemCount();
+ KviOptionsTreeWidgetItem * it;
- KviOptionsListViewItem *it = (KviOptionsListViewItem *)m_pListView->firstChild();
- while(it)
+ for (int i=0;i<count;i++)
{
+ it = (KviOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
recursiveCommit(it);
- it = (KviOptionsListViewItem *)it->nextSibling();
}
-
+
if(!bDialogAboutToClose)
{
// bring up the current widget again!
- it = (KviOptionsListViewItem *)m_pListView->currentItem();
- if(it)listViewItemSelectionChanged(it);
+ it = (KviOptionsTreeWidgetItem *)m_pTreeWidget->currentItem();
+ if(it)treeWidgetItemSelectionChanged(it, 0);
}
g_pApp->saveConfiguration();
@@ -609,16 +630,17 @@ void KviOptionsDialog::closeEvent(QCloseEvent *e)
delete this;
}
-void KviOptionsDialog::recursiveCommit(KviOptionsListViewItem *it)
+void KviOptionsDialog::recursiveCommit(KviOptionsTreeWidgetItem *it)
{
// First commit the children
if(!it) return;
- KviOptionsListViewItem *it2 = (KviOptionsListViewItem *)it->firstChild();
- while(it2)
+ int count=it->childCount();
+ for (int i=0;i<count;i++)
{
- recursiveCommit(it2);
- it2 = (KviOptionsListViewItem *)it2->nextSibling();
+ KviOptionsTreeWidgetItem * pChild = (KviOptionsTreeWidgetItem *)it->child(i);
+ recursiveCommit(pChild);
}
+
// then the parents
if(it->m_pOptionsWidget)
{
@@ -626,7 +648,7 @@ void KviOptionsDialog::recursiveCommit(KviOptionsListViewItem *it)
delete it->m_pOptionsWidget;
it->m_pOptionsWidget = 0;
}
- //refreshListView(); // <-- this tends to jump into infinite recursion
+ //refreshTreeWidget(); // <-- this tends to jump into infinite recursion
}
void KviOptionsDialog::keyPressEvent( QKeyEvent * e )
diff --git a/src/modules/options/dialog.h b/src/modules/options/dialog.h
index c670e1d70..ad9e007a0 100644
--- a/src/modules/options/dialog.h
+++ b/src/modules/options/dialog.h
@@ -28,11 +28,13 @@
#include "instances.h"
#include "kvi_optionswidget.h"
-#include "kvi_tal_listview.h"
+#include "kvi_tal_treewidget.h"
#include <QDialog>
#include <QStringList>
#include <QToolButton>
+#include <QPainter>
+#include <QColorGroup>
class QLabel;
class QPushButton;
@@ -47,12 +49,12 @@ public:
~KviGeneralOptionsFrontWidget();
};
-class KviOptionsListViewItem : public KviTalListViewItem
+class KviOptionsTreeWidgetItem : public KviTalTreeWidgetItem
{
public:
- KviOptionsListViewItem(KviTalListView *parent,KviOptionsWidgetInstanceEntry * e);
- KviOptionsListViewItem(KviTalListViewItem *parent,KviOptionsWidgetInstanceEntry * e);
- ~KviOptionsListViewItem();
+ KviOptionsTreeWidgetItem(KviTalTreeWidget *parent,KviOptionsWidgetInstanceEntry * e);
+ KviOptionsTreeWidgetItem(KviTalTreeWidgetItem *parent,KviOptionsWidgetInstanceEntry * e);
+ ~KviOptionsTreeWidgetItem();
public:
KviOptionsWidgetInstanceEntry * m_pInstanceEntry;
KviOptionsWidget * m_pOptionsWidget;
@@ -60,17 +62,17 @@ public:
public:
void setHighlighted(bool b){ m_bHighlighted = b; };
protected:
- virtual void paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align);
+// virtual void paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align);
};
class KviOptionsDialog : public QDialog
{
Q_OBJECT
public:
- KviOptionsDialog(QWidget * par,const QString &szGroup);
+ KviOptionsDialog(QWidget * par,const QString &szGroup);
~KviOptionsDialog();
private:
- KviTalListView * m_pListView;
+ KviTalTreeWidget * m_pTreeWidget;
QLabel * m_pCategoryLabel;
KviTalWidgetStack * m_pWidgetStack;
KviGeneralOptionsFrontWidget* m_pFrontWidget;
@@ -78,12 +80,12 @@ private:
QLineEdit * m_pSearchLineEdit;
QToolButton * m_pSearchButton;
private:
- void recursiveCommit(KviOptionsListViewItem *it);
- void fillListView(KviTalListViewItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l,const QString &szGroup,bool bNotContainedOnly = false);
- //KviOptionsListViewItem * showHiddenChildren(KviTalListViewItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l);
- KviOptionsListViewItem * findItemByPage(KviOptionsListViewItem *it,KviOptionsWidget * pPage);
+ void recursiveCommit(KviOptionsTreeWidgetItem *it);
+ void fillTreeWidget(KviTalTreeWidgetItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l,const QString &szGroup,bool bNotContainedOnly = false);
+ //KviOptionsTreeWidgetItem * showHiddenChildren(KviTalTreeWidgetItem * p,KviPointerList<KviOptionsWidgetInstanceEntry> * l);
+// KviOptionsTreeWidgetItem * findItemByPage(KviOptionsTreeWidgetItem *it,KviOptionsWidget * pPage);
private slots:
- void listViewItemSelectionChanged(KviTalListViewItem *it);
+ void treeWidgetItemSelectionChanged(KviTalTreeWidgetItem* it, KviTalTreeWidgetItem *prev);
void applyClicked();
void okClicked();
void cancelClicked();
@@ -94,7 +96,7 @@ protected:
void apply(bool bDialogAboutToClose);
virtual void closeEvent(QCloseEvent *e);
virtual void keyPressEvent( QKeyEvent * e );
- bool recursiveSearch(KviOptionsListViewItem * pItem,const QStringList &lKeywords);
+ bool recursiveSearch(KviOptionsTreeWidgetItem * pItem,const QStringList &lKeywords);
public:
void search(const QString &szKeywords);
void search(const QStringList &lKeywords);
diff --git a/src/modules/options/instances.cpp b/src/modules/options/instances.cpp
index b4cd8435c..04819033c 100644
--- a/src/modules/options/instances.cpp
+++ b/src/modules/options/instances.cpp
@@ -3546,7 +3546,7 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan
if(e->pWidget->parent() != par)
{
QWidget * oldPar = (QWidget *)e->pWidget->parent();
- e->pWidget->reparent(par,QPoint(0,0));
+ e->pWidget->setParent(par); //reparent(par,QPoint(0,0));
delete oldPar;
}
if(e->bIsContainer)
diff --git a/src/modules/options/mkcreateinstanceproc.sh b/src/modules/options/mkcreateinstanceproc.sh
index e47e6ac10..c1c09ad75 100755
--- a/src/modules/options/mkcreateinstanceproc.sh
+++ b/src/modules/options/mkcreateinstanceproc.sh
@@ -359,7 +359,7 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan
if(e->pWidget->parent() != par)
{
QWidget * oldPar = (QWidget *)e->pWidget->parent();
- e->pWidget->reparent(par,QPoint(0,0));
+ e->pWidget->setParent(par); //reparent(par,QPoint(0,0));
delete oldPar;
}
if(e->bIsContainer)
diff --git a/src/modules/options/optw_messages.cpp b/src/modules/options/optw_messages.cpp
index ec35879f8..4a8acd168 100644
--- a/src/modules/options/optw_messages.cpp
+++ b/src/modules/options/optw_messages.cpp
@@ -75,7 +75,7 @@ KviPrivmsgOptionsWidget::KviPrivmsgOptionsWidget(QWidget * parent)
KviBoolSelector * b2;
KviTalGroupBox * g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("General","options"));
-
+
addBoolSelector(g,__tr2qs_ctx("Show message icons","options"),KviOption_boolIrcViewShowImages);
addBoolSelector(g,__tr2qs_ctx("Draw some emoticons (smileys) as pictures","options"),KviOption_boolDrawEmoticons);
addBoolSelector(g,__tr2qs_ctx("Don't show colors in user messages","options"),KviOption_boolStripMircColorsInUserMessages);
@@ -123,19 +123,19 @@ KviTimestampOptionsWidget::KviTimestampOptionsWidget(QWidget * pParent)
{
createLayout();
m_pUseTimestampSelector = addBoolSelector(0,0,0,0,__tr2qs_ctx("Show timestamp","options"),KviOption_boolIrcViewTimestamp);
-
+
connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool)));
KviBoolSelector* b = addBoolSelector(0,1,0,1,__tr2qs_ctx("Use UTC time for timestamp","options"),KviOption_boolIrcViewTimestampUTC,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp));
-
+
connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),b,SLOT(setEnabled(bool)));
-
+
KviTalHBox *hb = new KviTalHBox(this);
addWidgetToLayout(hb,0,2,0,2);
-
+
m_pSpecialTimestampColorSelector = addBoolSelector(hb,__tr2qs_ctx("Use special color for timestamps","options"),KviOption_boolUseSpecialColorForTimestamp,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp));
connect(m_pSpecialTimestampColorSelector,SIGNAL(toggled(bool)),this,SLOT(enableDisableTimestampSelector(bool)));
connect(m_pUseTimestampSelector,SIGNAL(toggled(bool)),m_pSpecialTimestampColorSelector,SLOT(setEnabled(bool)));
-
+
m_pTimestampColorSelector = addMircTextColorSelector(hb,"",KviOption_uintTimeStampForeground,KviOption_uintTimeStampBackground,KVI_OPTION_BOOL(KviOption_boolIrcViewTimestamp) && KVI_OPTION_BOOL(KviOption_boolUseSpecialColorForTimestamp));
KviStringSelector * st=addStringSelector(0,3,0,3,__tr2qs_ctx("Timestamp format:","options"),KviOption_stringIrcViewTimestampFormat);
@@ -161,7 +161,7 @@ KviStandardColorsOptionsWidget::KviStandardColorsOptionsWidget(QWidget * parent)
{
setObjectName("stdcolors");
createLayout();
-
+
addColorSelector(0,0,0,0,"0:",&(KVI_OPTION_MIRCCOLOR(0)));
addColorSelector(1,0,1,0,"1:",&(KVI_OPTION_MIRCCOLOR(1)));
addColorSelector(2,0,2,0,"2:",&(KVI_OPTION_MIRCCOLOR(2)));
@@ -180,7 +180,7 @@ KviStandardColorsOptionsWidget::KviStandardColorsOptionsWidget(QWidget * parent)
addColorSelector(3,3,3,3,"15:",&(KVI_OPTION_MIRCCOLOR(15)));
addRowSpacer(0,4,3,4);
-
+
layout()->setRowStretch(4,1);
}
@@ -193,9 +193,9 @@ KviStandardColorsOptionsWidget::~KviStandardColorsOptionsWidget()
KviMessageListView::KviMessageListView(QWidget * par)
-: KviTalListView(par)
+: KviTalTreeWidget(par)
{
- setItemMargin(2);
+// setContentsMargin(2,2,2,2);
}
KviMessageListView::~KviMessageListView()
@@ -215,7 +215,7 @@ void KviMessageListView::paintEmptyAreaInternal(QPainter * p,const QRect &viewpo
QPixmap * pix = KVI_OPTION_PIXMAP(KviOption_pixmapIrcViewBackground).pixmap();
if(pix)
{
- QPoint pnt = viewportToContents(viewportRect.topLeft());
+ QPoint pnt = viewport()->mapToGlobal(viewportRect.topLeft());
p->fillRect(painterRect.x(),painterRect.y(),painterRect.width(),painterRect.height(),KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
p->drawTiledPixmap(painterRect.x(),painterRect.y(),painterRect.width(),painterRect.height(),*pix,pnt.x(),pnt.y());
} else {
@@ -229,17 +229,17 @@ void KviMessageListView::paintEmptyAreaInternal(QPainter * p,const QRect &viewpo
void KviMessageListView::paintEmptyArea(QPainter * p,const QRect &rct)
{
paintEmptyAreaInternal(p,rct,rct);
- KviTalListView::paintEmptyArea(p,rct);
+// KviTalTreeWidget::paintEmptyArea(p,rct);
}
-KviMessageListViewItem::KviMessageListViewItem(KviTalListView * l,int optId)
-: KviTalListViewItem(l)
+KviMessageListViewItem::KviMessageListViewItem(KviTalTreeWidget * l,int optId)
+: KviTalTreeWidgetItem(l)
{
m_iOptId = optId;
setText(0,"WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW");
m_pMsgType = new KviMsgType(KVI_OPTION_MSGTYPE(optId));
- setPixmap(0,*(g_pIconManager->getSmallIcon(0))); // just a dummy one to ensure that the size of the item is at least 20 pixels (16 + 2 * margin)
+ setIcon(0,*(g_pIconManager->getSmallIcon(0))); // just a dummy one to ensure that the size of the item is at least 20 pixels (16 + 2 * margin)
}
KviMessageListViewItem::~KviMessageListViewItem()
@@ -247,35 +247,38 @@ KviMessageListViewItem::~KviMessageListViewItem()
delete m_pMsgType;
}
-void KviMessageListViewItem::paintCell(QPainter * p,const QColorGroup &,int,int w,int)
+void KviMessageListViewItem::paintCell(QPainter * p,const QColorGroup &,int,int w,int h)
{
#ifdef COMPILE_PSEUDO_TRANSPARENCY
if(g_pShadedChildGlobalDesktopBackground)
{
- QPoint pnt = listView()->viewport()->mapToGlobal(QPoint(int(p->worldMatrix().dx()),int(p->worldMatrix().dy())));
- p->drawTiledPixmap(0,0,w,height(),*g_pShadedChildGlobalDesktopBackground,pnt.x(),pnt.y());
+ QPoint pnt = treeWidget()->viewport()->mapToGlobal(QPoint(int(p->worldMatrix().dx()),int(p->worldMatrix().dy())));
+ p->drawTiledPixmap(0,0,w,h,*g_pShadedChildGlobalDesktopBackground,pnt.x(),pnt.y());
} else {
#endif
QPixmap * pix = KVI_OPTION_PIXMAP(KviOption_pixmapIrcViewBackground).pixmap();
if(pix)
{
- QPoint pnt = listView()->viewportToContents(QPoint(int(p->worldMatrix().dx()),int(p->worldMatrix().dy())));
- p->fillRect(0,0,w,height(),KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
- p->drawTiledPixmap(0,0,w,height(),*pix,pnt.x(),pnt.y());
+ QPoint pnt =
+ treeWidget()->viewport()->mapToGlobal(QPoint(int(p->worldMatrix().dx()),int(p->worldMatrix().dy())));
+ p->fillRect(0,0,w,h,KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
+ p->drawTiledPixmap(0,0,w,h,*pix,pnt.x(),pnt.y());
} else {
- p->fillRect(0,0,w,height(),KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
+ p->fillRect(0,0,w,h,KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
}
#ifdef COMPILE_PSEUDO_TRANSPARENCY
}
#endif
+//fixme
+int itemMargin=0;
- p->drawPixmap(listView()->itemMargin(),(height() - 16) / 2,*(g_pIconManager->getSmallIcon(m_pMsgType->pixId())));
+ p->drawPixmap(itemMargin,(h - 16) / 2,*(g_pIconManager->getSmallIcon(m_pMsgType->pixId())));
// draw the background
if(m_pMsgType->back() < 16)
{
QColor bColor = KVI_OPTION_MIRCCOLOR(m_pMsgType->back());
- p->fillRect(22,listView()->itemMargin(),w - 24,height() - (listView()->itemMargin() * 2),bColor);
+ p->fillRect(22,itemMargin,w - 24,h - (itemMargin * 2),bColor);
}
unsigned char ucFore = m_pMsgType->fore();
if(ucFore > 15)ucFore = 0;
@@ -285,20 +288,20 @@ void KviMessageListViewItem::paintCell(QPainter * p,const QColorGroup &,int,int
txt += " (";
txt += __tr2qs_no_xgettext(m_pMsgType->type());
txt += ")";
- p->drawText(24,listView()->itemMargin(),w - 24,height() - (listView()->itemMargin() * 2),Qt::AlignLeft | Qt::AlignVCenter,txt);
+ p->drawText(24,itemMargin,w - 24,h - (itemMargin * 2),Qt::AlignLeft | Qt::AlignVCenter,txt);
if(isSelected())
{
QPen pen(KVI_OPTION_COLOR(KviOption_colorIrcViewBackground));
pen.setStyle(Qt::DashLine);
p->setPen( pen);
- p->drawRect(0,0,w,height());
- p->drawRect(1,1,w - 2,height() - 2);
+ p->drawRect(0,0,w,h);
+ p->drawRect(1,1,w - 2,h - 2);
}
}
-KviMessageColorListBoxItem::KviMessageColorListBoxItem(KviTalListBox * b,const QColor &clr,int idx)
-: KviTalListBoxText(b,QString::null)
+KviMessageColorListBoxItem::KviMessageColorListBoxItem(KviTalListWidget * b,const QColor &clr,int idx)
+: KviTalListWidgetText(b,QString::null)
{
m_clr = clr;
m_iClrIdx = idx;
@@ -313,15 +316,15 @@ void KviMessageColorListBoxItem::paint(QPainter * p)
{
QColor clr;
- const KviTalListBox * lb = (const KviTalListBox *)listBox();
+ const KviTalListWidget * lb = (const KviTalListWidget *)listWidget();
if((m_iClrIdx >= 0) && (m_iClrIdx <= 15))
{
clr = lb->isEnabled() ? KVI_OPTION_MIRCCOLOR(m_iClrIdx) : Qt::gray;
p->fillRect(0,0,width(lb),height(lb),clr);
} else {
- clr = listBox()->colorGroup().background();
- KviTalListBoxText::paint(p);
+ clr = listWidget()->palette().color(QPalette::Window);
+ KviTalListWidgetText::paint(p);
}
if(isSelected())
@@ -335,7 +338,7 @@ void KviMessageColorListBoxItem::paint(QPainter * p)
}
}
/*
-int KviMessageColorListBoxItem::width(const KviTalListBox * lb) const
+int KviMessageColorListBoxItem::width(const KviTalListWidget * lb) const
{
int w = lb->width();
if(w < 30)w = 30;
@@ -343,7 +346,7 @@ int KviMessageColorListBoxItem::width(const KviTalListBox * lb) const
return w;
}
-int KviMessageColorListBoxItem::height(const KviTalListBox *) const
+int KviMessageColorListBoxItem::height(const KviTalListWidget *) const
{
return 30;
}
@@ -376,10 +379,10 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
m_pListView = new KviMessageListView(this);
m_pListView->addColumn(__tr2qs_ctx("Message Type","options"));
m_pListView->setAllColumnsShowFocus(true);
- m_pListView->setSelectionMode(KviTalListView::Single);
+ m_pListView->setSelectionMode(QAbstractItemView::SingleSelection);
m_pListView->setFont(KVI_OPTION_FONT(KviOption_fontIrcView));
- m_pListView->setStaticBackground(true);
-
+// m_pListView->setStaticBackground(true);
+
addWidgetToLayout(m_pListView,0,0,2,0);
KviTalVBox * box = new KviTalVBox(this);
@@ -387,7 +390,7 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
QLabel * l = new QLabel(__tr2qs_ctx("Background:","options"),box);
- m_pBackListBox = new KviTalListBox(box);
+ m_pBackListBox = new KviTalListWidget(box);
m_pBackItems[16] = new KviMessageColorListBoxItem(m_pBackListBox,Qt::gray,KVI_TRANSPARENT);
for(i=0;i<16;i++)
{
@@ -396,7 +399,7 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
l = new QLabel(__tr2qs_ctx("Foreground:","options"),box);
- m_pForeListBox = new KviTalListBox(box);
+ m_pForeListBox = new KviTalListWidget(box);
for(i=0;i<16;i++)
{
m_pForeItems[i] = new KviMessageColorListBoxItem(m_pForeListBox,KVI_OPTION_MIRCCOLOR(i),i);
@@ -404,13 +407,13 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
l = new QLabel(__tr2qs_ctx("Alert level:","options"),box);
- m_pLevelListBox = new KviTalListBox(box);
- KviTalListBoxText * lbt;
+ m_pLevelListBox = new KviTalListWidget(box);
+ KviTalListWidgetText * lbt;
for(i=0;i<6;i++)
{
QString tmpn;
tmpn.setNum(i);
- lbt = new KviTalListBoxText(m_pLevelListBox,tmpn);
+ lbt = new KviTalListWidgetText(m_pLevelListBox,tmpn);
}
m_pIconButton = new QToolButton(box);
@@ -442,11 +445,11 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
layout()->setRowStretch(0,1);
layout()->setColumnStretch(0,1);
- connect(m_pListView,SIGNAL(selectionChanged(KviTalListViewItem *)),this,SLOT(itemChanged(KviTalListViewItem *)));
- connect(m_pForeListBox,SIGNAL(selectionChanged(KviTalListBoxItem *)),this,SLOT(colorChanged(KviTalListBoxItem *)));
- connect(m_pBackListBox,SIGNAL(selectionChanged(KviTalListBoxItem *)),this,SLOT(colorChanged(KviTalListBoxItem *)));
+ connect(m_pListView,SIGNAL(selectionChanged()),this,SLOT(itemChanged()));
+ connect(m_pForeListBox,SIGNAL(selectionChanged()),this,SLOT(colorChanged()));
+ connect(m_pBackListBox,SIGNAL(selectionChanged()),this,SLOT(colorChanged()));
- itemChanged(0);
+ itemChanged();
}
KviMessageColorsOptionsWidget::~KviMessageColorsOptionsWidget()
@@ -459,37 +462,38 @@ void KviMessageColorsOptionsWidget::newIconSelected(int iconId)
if(iconId >= KVI_NUM_SMALL_ICONS)return;
m_pLastItem->msgType()->setPixId(iconId);
m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(iconId)));
- m_pListView->repaintItem(m_pLastItem);
+ m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem));
}
void KviMessageColorsOptionsWidget::saveLastItem()
{
if(!m_pLastItem)return;
- int curIt = m_pForeListBox->currentItem();
- if(curIt != -1)
+ int curIt = m_pForeListBox->currentRow();
+ if(curIt)
{
//qDebug("Setting fore %d",curIt);
KviMessageColorListBoxItem * fore = (KviMessageColorListBoxItem *)m_pForeListBox->item(curIt);
//qDebug("And is %d",fore);
if(fore)m_pLastItem->msgType()->setFore(fore->m_iClrIdx);
}
- curIt = m_pBackListBox->currentItem();
- if(curIt != -1)
+ curIt = m_pBackListBox->currentRow();
+ if(curIt)
{
KviMessageColorListBoxItem * back = (KviMessageColorListBoxItem *)m_pBackListBox->item(curIt);
if(back)m_pLastItem->msgType()->setBack(back->m_iClrIdx);
}
m_pLastItem->msgType()->enableLogging(m_pEnableLogging->isChecked());
//qDebug("Updating","options");
- curIt = m_pLevelListBox->currentItem();
+ curIt = m_pLevelListBox->currentRow();
if(curIt < 0 || curIt > 5)curIt = 1;
m_pLastItem->msgType()->setLevel(curIt);
- m_pListView->repaintItem(m_pLastItem);
+ m_pListView->repaint(m_pListView->visualItemRect(m_pLastItem));
}
-void KviMessageColorsOptionsWidget::itemChanged(KviTalListViewItem * it)
+void KviMessageColorsOptionsWidget::itemChanged()
{
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem*)m_pListView->currentItem();
//qDebug("Item changed","options");
if(m_pLastItem)saveLastItem();
@@ -515,7 +519,7 @@ void KviMessageColorsOptionsWidget::itemChanged(KviTalListViewItem * it)
} else {
m_pBackListBox->setCurrentItem(m_pBackItems[16]);
}
- m_pLevelListBox->setCurrentItem(((KviMessageListViewItem *)it)->msgType()->level());
+ m_pLevelListBox->setCurrentRow(((KviMessageListViewItem *)it)->msgType()->level());
m_pEnableLogging->setChecked(((KviMessageListViewItem *)it)->msgType()->logEnabled());
m_pIconButton->setIcon(*(g_pIconManager->getSmallIcon(((KviMessageListViewItem *)it)->msgType()->pixId())));
}
@@ -524,7 +528,7 @@ void KviMessageColorsOptionsWidget::itemChanged(KviTalListViewItem * it)
m_pLastItem = (KviMessageListViewItem *)it;
}
-void KviMessageColorsOptionsWidget::colorChanged(KviTalListBoxItem *)
+void KviMessageColorsOptionsWidget::colorChanged()
{
if(m_pLastItem)saveLastItem();
}
@@ -540,11 +544,11 @@ void KviMessageColorsOptionsWidget::commit()
mergeResetFlag(KviOption_resetUpdateGui);
- KviMessageListViewItem * it = (KviMessageListViewItem *)m_pListView->firstChild();
- while(it)
+ int count = m_pListView->topLevelItemCount();
+ for(int i=0; i<count;i++)
{
+ KviMessageListViewItem* it = (KviMessageListViewItem *)m_pListView->topLevelItem(i);
KVI_OPTION_MSGTYPE(it->optionId()) = *(it->msgType());
- it = (KviMessageListViewItem *)(it->nextSibling());
}
KviOptionsWidget::commit();
@@ -566,11 +570,12 @@ void KviMessageColorsOptionsWidget::save()
KviStr tmp;
-
- KviMessageListViewItem * it = (KviMessageListViewItem *)m_pListView->firstChild();
- while(it)
+ int count = m_pListView->topLevelItemCount();
+ for(int i=0; i<count;i++)
{
+ KviMessageListViewItem* it = (KviMessageListViewItem *)m_pListView->topLevelItem(i);
+
tmp.sprintf("Fore%d",it->optionId());
cfg.writeEntry(tmp.ptr(),it->msgType()->fore());
tmp.sprintf("Back%d",it->optionId());
@@ -581,7 +586,6 @@ void KviMessageColorsOptionsWidget::save()
cfg.writeEntry(tmp.ptr(),it->msgType()->logEnabled());
tmp.sprintf("Level%d",it->optionId());
cfg.writeEntry(tmp.ptr(),it->msgType()->level());
- it = (KviMessageListViewItem *)(it->nextSibling());
}
}
@@ -615,7 +619,7 @@ void KviMessageColorsOptionsWidget::load()
if(KviFileDialog::askForOpenFileName(szName,__tr2qs_ctx("Choose a Filename - KVIrc ","options"),szInit))
{
- itemChanged(0);
+ itemChanged();
KviConfig cfg(szName,KviConfig::Read);
@@ -623,10 +627,12 @@ void KviMessageColorsOptionsWidget::load()
//KviStr tmp;
QString tmp;
- KviMessageListViewItem * it = (KviMessageListViewItem *)m_pListView->firstChild();
- while(it)
+ int count = m_pListView->topLevelItemCount();
+ for(int i=0; i<count;i++)
{
+ KviMessageListViewItem* it = (KviMessageListViewItem *)m_pListView->topLevelItem(i);
+
tmp.sprintf("Fore%d",it->optionId());
int fore = cfg.readIntEntry(tmp,it->msgType()->fore());
if(fore < 0 || fore > 15)fore = 0;
@@ -650,9 +656,7 @@ void KviMessageColorsOptionsWidget::load()
int iLevel = cfg.readIntEntry(tmp,it->msgType()->level());
it->msgType()->setLevel(iLevel);
- m_pListView->repaintItem(it);
-
- it = (KviMessageListViewItem *)(it->nextSibling());
+ m_pListView->repaint(m_pListView->visualItemRect(it));
}
}
}
diff --git a/src/modules/options/optw_messages.h b/src/modules/options/optw_messages.h
index fbe3daeab..1623526a6 100644
--- a/src/modules/options/optw_messages.h
+++ b/src/modules/options/optw_messages.h
@@ -26,13 +26,14 @@
#include "kvi_optionswidget.h"
#include "kvi_msgtype.h"
-#include "kvi_tal_listview.h"
-#include "kvi_tal_listbox.h"
+#include "kvi_tal_treewidget.h"
+#include "kvi_tal_listwidget.h"
#include "kvi_tal_popupmenu.h"
#include <QCheckBox>
#include <QToolButton>
-
+#include <QPainter>
+#include <QColorGroup>
#define KVI_OPTIONS_WIDGET_ICON_KviMessageOptionsWidget KVI_SMALLICON_MESSAGES
#define KVI_OPTIONS_WIDGET_NAME_KviMessageOptionsWidget __tr2qs_no_lookup("Text")
@@ -92,7 +93,7 @@ protected slots:
#define KVI_OPTIONS_WIDGET_PARENT_KviMessageColorsOptionsWidget KviMessageOptionsWidget
#define KVI_OPTIONS_WIDGET_PRIORITY_KviMessageColorsOptionsWidget 30
-class KviMessageListView : public KviTalListView
+class KviMessageListView : public KviTalTreeWidget
{
Q_OBJECT
public:
@@ -105,10 +106,10 @@ public:
};
-class KviMessageListViewItem : public KviTalListViewItem
+class KviMessageListViewItem : public KviTalTreeWidgetItem
{
public:
- KviMessageListViewItem(KviTalListView * l,int optId);
+ KviMessageListViewItem(KviTalTreeWidget * l,int optId);
~KviMessageListViewItem();
private:
int m_iOptId;
@@ -120,42 +121,43 @@ public:
};
-class KviMessageColorListBoxItem : public KviTalListBoxText
+class KviMessageColorListBoxItem : public KviTalListWidgetText
{
public:
- KviMessageColorListBoxItem(KviTalListBox * b,const QColor & clr,int idx);
+ KviMessageColorListBoxItem(KviTalListWidget * b,const QColor & clr,int idx);
~KviMessageColorListBoxItem();
public:
int m_iClrIdx;
QColor m_clr;
public:
virtual void paint(QPainter * p);
- virtual int width(const KviTalListBox * lv) const { return 120; };
+ virtual int width(const KviTalListWidget * lv) const { return 120; };
};
class KviMessageColorsOptionsWidget : public KviOptionsWidget
{
Q_OBJECT
+ friend class KviTalListWidget;
public:
KviMessageColorsOptionsWidget(QWidget * parent);
~KviMessageColorsOptionsWidget();
public:
KviMessageListView * m_pListView;
- KviTalListBox * m_pForeListBox;
- KviTalListBox * m_pBackListBox;
- KviTalListBox * m_pLevelListBox;
+ KviTalListWidget * m_pForeListBox;
+ KviTalListWidget * m_pBackListBox;
+ KviTalListWidget * m_pLevelListBox;
KviMessageColorListBoxItem * m_pForeItems[16];
KviMessageColorListBoxItem * m_pBackItems[17];
KviMessageListViewItem * m_pLastItem;
QCheckBox * m_pEnableLogging;
QToolButton * m_pIconButton;
- KviTalPopupMenu * m_pIconPopup;
+ KviTalPopupMenu * m_pIconPopup;
public:
void saveLastItem();
protected slots:
- void itemChanged(KviTalListViewItem * it);
- void colorChanged(KviTalListBoxItem *);
+ void itemChanged();
+ void colorChanged();
void iconButtonClicked();
void newIconSelected(int iconId);
virtual void commit();
@@ -176,7 +178,7 @@ class KviStandardColorsOptionsWidget : public KviOptionsWidget
public:
KviStandardColorsOptionsWidget(QWidget * par);
~KviStandardColorsOptionsWidget();
-
+
};