diff options
| author | 2008-09-19 17:33:33 +0000 | |
|---|---|---|
| committer | 2008-09-19 17:33:33 +0000 | |
| commit | 680819017669fc10ffd29218048e4fb3d414eea2 (patch) | |
| tree | 5b493532289f7050116f876f79164b393d957665 /src | |
| parent | typo, thx to Caladiel again (diff) | |
| download | KVIrc-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')
| -rw-r--r-- | src/kvirc/ui/kvi_windowlist_tree.cpp | 2 | ||||
| -rw-r--r-- | src/modules/options/dialog.cpp | 186 | ||||
| -rw-r--r-- | src/modules/options/dialog.h | 30 | ||||
| -rw-r--r-- | src/modules/options/instances.cpp | 2 | ||||
| -rwxr-xr-x | src/modules/options/mkcreateinstanceproc.sh | 2 | ||||
| -rw-r--r-- | src/modules/options/optw_messages.cpp | 142 | ||||
| -rw-r--r-- | src/modules/options/optw_messages.h | 34 |
7 files changed, 214 insertions, 184 deletions
diff --git a/src/kvirc/ui/kvi_windowlist_tree.cpp b/src/kvirc/ui/kvi_windowlist_tree.cpp index f5484d1bf..9056c07a5 100644 --- a/src/kvirc/ui/kvi_windowlist_tree.cpp +++ b/src/kvirc/ui/kvi_windowlist_tree.cpp @@ -710,7 +710,7 @@ QSize KviTreeWindowListItemDelegate::sizeHint( const QStyleOptionViewItem & opti { KviTreeWindowListTreeWidget* treeWidget = (KviTreeWindowListTreeWidget*)parent(); - return QSize(treeWidget->viewport()->size().width(), treeWidget->fontMetrics().xHeight() * 3); + return QSize(treeWidget->viewport()->size().width(), qMax(20, treeWidget->fontMetrics().xHeight() * 3)); } #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES 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> </b>",vbox,"labgeneraloptions"); + m_pCategoryLabel = new QLabel("<b> </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(); - + }; |
