aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options
diff options
context:
space:
mode:
authorGravatar Noldor2008-05-24 10:47:26 +0000
committerGravatar Noldor2008-05-24 10:47:26 +0000
commit62a8bf04c221497f2350a1167228c842fca31831 (patch)
tree72de715bb0b085af3f5f6a3301688590d3e1d5e4 /src/modules/options
parentfixed .desktop install (diff)
downloadKVIrc-62a8bf04c221497f2350a1167228c842fca31831.tar.gz
KVIrc-62a8bf04c221497f2350a1167228c842fca31831.tar.bz2
KVIrc-62a8bf04c221497f2350a1167228c842fca31831.zip
options module QT4 port (wip) + some QT4 fix
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1845 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/options')
-rw-r--r--src/modules/options/dialog.cpp4
-rw-r--r--src/modules/options/instances.cpp6
-rw-r--r--src/modules/options/instances.h2
-rw-r--r--src/modules/options/libkvioptions.cpp14
-rw-r--r--src/modules/options/options_QT4_vc05.vcproj2
-rw-r--r--src/modules/options/optw_identity.cpp4
-rw-r--r--src/modules/options/optw_interfacefeatures.cpp2
-rw-r--r--src/modules/options/optw_ircoutput.cpp16
-rw-r--r--src/modules/options/optw_ircoutput.h2
-rw-r--r--src/modules/options/optw_mediatypes.cpp61
-rw-r--r--src/modules/options/optw_mediatypes.h16
-rw-r--r--src/modules/options/optw_messages.cpp4
-rw-r--r--src/modules/options/optw_nickserv.cpp58
-rw-r--r--src/modules/options/optw_nickserv.h4
-rw-r--r--src/modules/options/optw_proxy.cpp100
-rw-r--r--src/modules/options/optw_proxy.h16
-rw-r--r--src/modules/options/optw_servers.cpp455
-rw-r--r--src/modules/options/optw_servers.h23
-rw-r--r--src/modules/options/optw_sound.cpp4
-rw-r--r--src/modules/options/optw_taskbar.cpp4
-rw-r--r--src/modules/options/optw_urlhandlers.cpp48
-rw-r--r--src/modules/options/optw_userlist.cpp50
22 files changed, 487 insertions, 408 deletions
diff --git a/src/modules/options/dialog.cpp b/src/modules/options/dialog.cpp
index 6eaf68a66..9feaf0c7c 100644
--- a/src/modules/options/dialog.cpp
+++ b/src/modules/options/dialog.cpp
@@ -195,12 +195,12 @@ KviOptionsDialog::KviOptionsDialog(QWidget * par,const QString &szGroup)
connect(m_pListView,SIGNAL(selectionChanged(KviTalListViewItem *)),this,SLOT(listViewItemSelectionChanged(KviTalListViewItem *)));
KviTalHBox * hbox = new KviTalHBox(vbox);
- vbox->setSpacing(2);
+ vbox->setSpacing(0);
vbox->setMargin(0);
m_pSearchLineEdit = new QLineEdit(hbox);
connect(m_pSearchLineEdit,SIGNAL(returnPressed()),this,SLOT(searchClicked()));
- m_pSearchButton = new KviStyledToolButton(hbox);
+ m_pSearchButton = new QToolButton(hbox);
m_pSearchButton->setUsesBigPixmap(false);
m_pSearchButton->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SEARCH)));
connect(m_pSearchButton,SIGNAL(clicked()),this,SLOT(searchClicked()));
diff --git a/src/modules/options/instances.cpp b/src/modules/options/instances.cpp
index 51cd273c6..119149290 100644
--- a/src/modules/options/instances.cpp
+++ b/src/modules/options/instances.cpp
@@ -3503,7 +3503,11 @@ KviOptionsWidget * KviOptionsInstanceManager::getInstance(KviOptionsWidgetInstan
if(e->pWidget->parent() != par)
{
QWidget * oldPar = (QWidget *)e->pWidget->parent();
- e->pWidget->reparent(par,QPoint(0,0));
+ //e->pWidget->reparent(par,QPoint(0,0));
+ e->pWidget->setParent(par);
+ e->pWidget->setGeometry(0,0,e->pWidget->width(),e->pWidget->height());
+ //
+
delete oldPar;
}
if(e->bIsContainer)
diff --git a/src/modules/options/instances.h b/src/modules/options/instances.h
index 12f10a42c..55aca0422 100644
--- a/src/modules/options/instances.h
+++ b/src/modules/options/instances.h
@@ -54,7 +54,7 @@ typedef struct _KviOptionsWidgetInstanceEntry
bool bIsContainer;
bool bIsNotContained;
KviPointerList<KviOptionsWidgetInstanceEntry> * pChildList;
- bool bDoInsert; // a helper for KviOptionsDialog::fillListView()
+ bool bDoInsert; // a helper for KviOptionsDialog::fillTreeWidget()
} KviOptionsWidgetInstanceEntry;
diff --git a/src/modules/options/libkvioptions.cpp b/src/modules/options/libkvioptions.cpp
index cd23e31f6..a26b32f4f 100644
--- a/src/modules/options/libkvioptions.cpp
+++ b/src/modules/options/libkvioptions.cpp
@@ -103,12 +103,20 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c)
{
if(d->parent())
{
- d->reparent(0,QPoint(0,0),true);
+ // d->reparent(0,QPoint(0,0),true);
+ d->setParent(0);
+ d->setGeometry(0,0,d->width(),d->height());
+ // inline QT3_SUPPORT void reparent(QWidget *parent, const QPoint &p, bool showIt=false)
+ //{ setParent(parent, windowFlags() & ~Qt::WindowType_Mask); setGeometry(p.x(),p.y(),width(),height()); if (showIt) show(); }
+
}
} else {
if(d->parent() != c->window()->frame()->splitter())
{
- d->reparent(c->window()->frame()->splitter(),QPoint(0,0),true);
+ // d->reparent(c->window()->frame()->splitter(),QPoint(0,0),true);
+ d->setParent(c->window()->frame()->splitter());
+ d->setGeometry(0,0,d->width(),d->height());
+ d->show();
}
}
} else {
@@ -203,7 +211,7 @@ static bool options_kvs_cmd_edit(KviKvsModuleCommandCall * c)
{
//c->warning(__tr("The editor page is already open","options"));
e->pWidget->raise();
- e->pWidget->setActiveWindow();
+ e->pWidget->activateWindow();
e->pWidget->setFocus();
return true;
}
diff --git a/src/modules/options/options_QT4_vc05.vcproj b/src/modules/options/options_QT4_vc05.vcproj
index 49876b10c..1e05435d4 100644
--- a/src/modules/options/options_QT4_vc05.vcproj
+++ b/src/modules/options/options_QT4_vc05.vcproj
@@ -42,7 +42,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\kvirc\ui&quot;;&quot;$(ProjectDir)\..\..\kvilib\config&quot;;&quot;$(QTDIR)\include&quot;;&quot;$(ProjectDir)\..\..\kvilib\core&quot;;&quot;$(ProjectDir)\..\..\kvilib\system&quot;;&quot;$(ProjectDir)\..\..\kvilib\ext&quot;;&quot;$(ProjectDir)\..\..\kvirc\kernel&quot;;&quot;$(ProjectDir)\..\..\kvilib\irc&quot;;&quot;$(ProjectDir)\..\..\kvilib\file&quot;;&quot;$(ProjectDir)\..\..\kvilib\tal&quot;;&quot;$(ProjectDir)\..\..\kvirc\module&quot;;&quot;$(ProjectDir)\..\..\kvirc\uparser&quot;;&quot;$(ProjectDir)\..\..\kvirc\kvs&quot;;&quot;$(ProjectDir)\..\..\kvilib\net&quot;;&quot;$(QTDIR)\include\Qt3Support&quot;;&quot;$(QTDIR)\include\QtCore\&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include\Qt&quot;;&quot;$(QTDIR)\include\QtNetwork&quot;;&quot;$(QTDIR)\include\QtXml&quot;;"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OPTIONS_EXPORTS;_CRT_SECURE_NO_DEPRECATE;QT3_SUPPORT;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;OPTIONS_EXPORTS;_CRT_SECURE_NO_DEPRECATE;"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
diff --git a/src/modules/options/optw_identity.cpp b/src/modules/options/optw_identity.cpp
index 27cd424d0..75ac7e5f0 100644
--- a/src/modules/options/optw_identity.cpp
+++ b/src/modules/options/optw_identity.cpp
@@ -365,7 +365,7 @@ KviIdentityGeneralOptionsWidget::KviIdentityGeneralOptionsWidget(QWidget * paren
i = KVI_OPTION_STRING(KviOption_stringCtcpUserInfoAge).toUInt(&bOk);
if(!bOk)i = 0;
if(i > 120)i = 120;
- m_pAgeCombo->setCurrentItem(i);
+ m_pAgeCombo->setCurrentIndex(i);
hb->setStretchFactor(m_pAgeCombo,1);
@@ -479,7 +479,7 @@ KviIdentityAvatarOptionsWidget::KviIdentityAvatarOptionsWidget(QWidget * parent)
"The image also should be smaller than 800x600 pixels since<br>" \
"it will have to be viewable in everyone's monitor.","options");
- m_pUseAvatarCheck = new KviStyledCheckBox(__tr2qs_ctx("Use avatar","options"),this);
+ m_pUseAvatarCheck = new QCheckBox(__tr2qs_ctx("Use avatar","options"),this);
addWidgetToLayout(m_pUseAvatarCheck,0,0,0,0);
m_pUseAvatarCheck->setChecked(bHaveAvatar);
mergeTip(m_pUseAvatarCheck,szTip);
diff --git a/src/modules/options/optw_interfacefeatures.cpp b/src/modules/options/optw_interfacefeatures.cpp
index a5b4da725..0a8f8f1de 100644
--- a/src/modules/options/optw_interfacefeatures.cpp
+++ b/src/modules/options/optw_interfacefeatures.cpp
@@ -47,7 +47,7 @@ KviInterfaceFeaturesOptionsWidget::KviInterfaceFeaturesOptionsWidget(QWidget * p
QString szSplashDisableFile;
g_pApp->getLocalKvircDirectory(szSplashDisableFile,KviApp::Pics,"disable-splash." KVI_VERSION);
bool bDisableSplash = KviFileUtils::fileExists(szSplashDisableFile);
- m_pDisableSplash = new KviStyledCheckBox(__tr2qs_ctx("Disable splash screen","options"),this);
+ m_pDisableSplash = new QCheckBox(__tr2qs_ctx("Disable splash screen","options"),this);
addWidgetToLayout(m_pDisableSplash,0,3,0,3);
m_pDisableSplash->setChecked(bDisableSplash);
diff --git a/src/modules/options/optw_ircoutput.cpp b/src/modules/options/optw_ircoutput.cpp
index 45a43eb97..fcce3671e 100644
--- a/src/modules/options/optw_ircoutput.cpp
+++ b/src/modules/options/optw_ircoutput.cpp
@@ -40,18 +40,18 @@ KviIrcOutputOptionsWidget::KviIrcOutputOptionsWidget(QWidget * parent)
QLabel * l =new QLabel(__tr2qs_ctx("Output verbosity","options"),this);
addWidgetToLayout(l,0,0,0,0);
- m_pVerbosityCombo = new QComboBox(false,this);
+ m_pVerbosityCombo = new QComboBox(this);
addWidgetToLayout(m_pVerbosityCombo,1,0,1,0);
- m_pVerbosityCombo->insertItem(__tr2qs_ctx("Mute","options"));
- m_pVerbosityCombo->insertItem(__tr2qs_ctx("Quiet","options"));
- m_pVerbosityCombo->insertItem(__tr2qs_ctx("Normal","options"));
- m_pVerbosityCombo->insertItem(__tr2qs_ctx("Verbose","options"));
- m_pVerbosityCombo->insertItem(__tr2qs_ctx("Paranoic","options"));
+ m_pVerbosityCombo->addItem(__tr2qs_ctx("Mute","options"));
+ m_pVerbosityCombo->addItem(__tr2qs_ctx("Quiet","options"));
+ m_pVerbosityCombo->addItem(__tr2qs_ctx("Normal","options"));
+ m_pVerbosityCombo->addItem(__tr2qs_ctx("Verbose","options"));
+ m_pVerbosityCombo->addItem(__tr2qs_ctx("Paranoic","options"));
if(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) > KVI_VERBOSITY_LEVEL_PARANOIC)
KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = KVI_VERBOSITY_LEVEL_NORMAL;
- m_pVerbosityCombo->setCurrentItem(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel));
+ m_pVerbosityCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel));
KviTalGroupBox * g = addGroupBox(0,1,1,1,Qt::Horizontal,__tr2qs_ctx("Show in active window","options"));
addBoolSelector(g,__tr2qs_ctx("External messages","options"),KviOption_boolExternalMessagesToActiveWindow);
@@ -83,7 +83,7 @@ void KviIrcOutputOptionsWidget::commit()
{
KviOptionsWidget::commit();
- int i = m_pVerbosityCombo->currentItem();
+ int i = m_pVerbosityCombo->currentIndex();
if((i < 0) || (i > KVI_VERBOSITY_LEVEL_PARANOIC))i = KVI_VERBOSITY_LEVEL_NORMAL;
KVI_OPTION_UINT(KviOption_uintOutputVerbosityLevel) = i;
}
diff --git a/src/modules/options/optw_ircoutput.h b/src/modules/options/optw_ircoutput.h
index 41575950a..c9f9fe76f 100644
--- a/src/modules/options/optw_ircoutput.h
+++ b/src/modules/options/optw_ircoutput.h
@@ -24,7 +24,7 @@
//
#include "kvi_optionswidget.h"
-#include "kvi_tal_listview.h"
+
class QComboBox;
diff --git a/src/modules/options/optw_mediatypes.cpp b/src/modules/options/optw_mediatypes.cpp
index 94c4e1da0..d14c4694c 100644
--- a/src/modules/options/optw_mediatypes.cpp
+++ b/src/modules/options/optw_mediatypes.cpp
@@ -44,17 +44,17 @@ static void copyMediaType(KviMediaType * dst,const KviMediaType * src)
dst->szIcon = src->szIcon;
}
-KviMediaTypeListViewItem::KviMediaTypeListViewItem(KviTalListView * w,KviMediaType * t)
-: KviTalListViewItem(w)
+KviMediaTypeTreeWidgetItem::KviMediaTypeTreeWidgetItem(KviTalTreeWidget * w,KviMediaType * t)
+: KviTalTreeWidgetItem(w)
{
copyData(t);
}
-KviMediaTypeListViewItem::~KviMediaTypeListViewItem()
+KviMediaTypeTreeWidgetItem::~KviMediaTypeTreeWidgetItem()
{
}
-void KviMediaTypeListViewItem::copyData(KviMediaType * t)
+void KviMediaTypeTreeWidgetItem::copyData(KviMediaType * t)
{
copyMediaType(&m_data,t);
setText(0,m_data.szFileMask.ptr());
@@ -67,16 +67,19 @@ KviMediaTypesOptionsWidget::KviMediaTypesOptionsWidget(QWidget * parent)
{
createLayout();
- m_pListView = new KviTalListView(this);
- m_pListView->addColumn(__tr2qs_ctx("Pattern","options"));
- m_pListView->addColumn(__tr2qs_ctx("MIME Type","options"));
- m_pListView->addColumn(__tr2qs_ctx("Description","options"));
- m_pListView->setAllColumnsShowFocus(true);
+ m_pTreeWidget = new KviTalTreeWidget(this);
+ m_pTreeWidget->setColumnCount(3);
+ QStringList columnLabels;
+ columnLabels.append(__tr2qs_ctx("Pattern","options"));
+ columnLabels.append(__tr2qs_ctx("MIME Type","options"));
+ columnLabels.append(__tr2qs_ctx("Description","options"));
+ m_pTreeWidget->setHeaderLabels(columnLabels);
+ m_pTreeWidget->setAllColumnsShowFocus(true);
+ m_pTreeWidget->setRootIsDecorated(false);
+ connect(m_pTreeWidget,SIGNAL(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)),this,SLOT(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)));
- connect(m_pListView,SIGNAL(currentChanged(KviTalListViewItem *)),this,SLOT(currentItemChanged(KviTalListViewItem *)));
-
- layout()->addWidget(m_pListView,0,0,1,3);
-// layout()->addMultiCellWidget(m_pListView,0,0,0,2);
+ layout()->addWidget(m_pTreeWidget,0,0,1,3);
+// layout()->addMultiCellWidget(m_pTreeWidget,0,0,0,2);
QLabel * l = new QLabel(__tr2qs_ctx("Description:","options"),this);
layout()->addWidget(l,1,0);
@@ -149,22 +152,22 @@ KviMediaTypesOptionsWidget::KviMediaTypesOptionsWidget(QWidget * parent)
m_pLastItem = 0;
- fillListView();
+ fillTreeWidget();
}
KviMediaTypesOptionsWidget::~KviMediaTypesOptionsWidget()
{
}
-void KviMediaTypesOptionsWidget::fillListView()
+void KviMediaTypesOptionsWidget::fillTreeWidget()
{
- m_pListView->clear();
+ m_pTreeWidget->clear();
g_pMediaManager->lock();
KviPointerList<KviMediaType> * l = g_pMediaManager->mediaTypeList();
- KviMediaTypeListViewItem * it;
+ KviMediaTypeTreeWidgetItem * it;
for(KviMediaType * t = l->first();t;t = l->next())
{
- it = new KviMediaTypeListViewItem(m_pListView,t);
+ it = new KviMediaTypeTreeWidgetItem(m_pTreeWidget,t);
}
g_pMediaManager->unlock();
enableOrDisable();
@@ -215,13 +218,13 @@ void KviMediaTypesOptionsWidget::setLineEdits()
m_pIcon->setText(m_pLastItem ? m_pLastItem->data()->szIcon.ptr() : "");
}
-void KviMediaTypesOptionsWidget::currentItemChanged(KviTalListViewItem *it)
+void KviMediaTypesOptionsWidget::currentItemChanged(KviTalTreeWidgetItem *it,KviTalTreeWidgetItem *prev)
{
saveLastItem();
- m_pLastItem = (KviMediaTypeListViewItem *)it;
+ m_pLastItem = (KviMediaTypeTreeWidgetItem *)it;
if(it)
{
- if(!it->isSelected())m_pListView->setSelected(it,true);
+ if(!it->isSelected())it->setSelected(true);
}
setLineEdits();
enableOrDisable();
@@ -231,16 +234,16 @@ void KviMediaTypesOptionsWidget::newMediaType()
{
KviMediaType empty;
empty.szDescription = __tr2qs_ctx("New Media Type","options");
- KviMediaTypeListViewItem * it = new KviMediaTypeListViewItem(m_pListView,&empty);
- m_pListView->setCurrentItem(it);
- m_pListView->setSelected(it,true);
+ KviMediaTypeTreeWidgetItem * it = new KviMediaTypeTreeWidgetItem(m_pTreeWidget,&empty);
+ m_pTreeWidget->setCurrentItem(it);
+ it->setSelected(true);
}
void KviMediaTypesOptionsWidget::delMediaType()
{
if(m_pLastItem)
{
- KviMediaTypeListViewItem * it = m_pLastItem;
+ KviMediaTypeTreeWidgetItem * it = m_pLastItem;
m_pLastItem = 0;
delete it;
}
@@ -249,15 +252,17 @@ void KviMediaTypesOptionsWidget::delMediaType()
void KviMediaTypesOptionsWidget::commit()
{
saveLastItem();
- KviMediaTypeListViewItem * it = (KviMediaTypeListViewItem *)m_pListView->firstChild();
+ KviMediaTypeTreeWidgetItem * it;// = (KviMediaTypeTreeWidgetItem *)m_pTreeWidget->firstChild();
g_pMediaManager->lock();
g_pMediaManager->clear();
- while(it)
+ //while(it)
+ for(int i=0;i<m_pTreeWidget->topLevelItemCount();i++)
{
+ it=(KviMediaTypeTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
KviMediaType * t = new KviMediaType;
copyMediaType(t,it->data());
g_pMediaManager->insertMediaType(t);
- it = (KviMediaTypeListViewItem *)it->nextSibling();
+ // it = (KviMediaTypeTreeWidgetItem *)it->nextSibling();
}
g_pMediaManager->unlock();
}
diff --git a/src/modules/options/optw_mediatypes.h b/src/modules/options/optw_mediatypes.h
index 3ec91c12f..b4dafe9f2 100644
--- a/src/modules/options/optw_mediatypes.h
+++ b/src/modules/options/optw_mediatypes.h
@@ -25,17 +25,17 @@
#include "kvi_optionswidget.h"
#include "kvi_mediatype.h"
-#include "kvi_tal_listview.h"
+#include "kvi_tal_treewidget.h"
#include <QLineEdit>
#include <QPushButton>
-class KviMediaTypeListViewItem : public KviTalListViewItem
+class KviMediaTypeTreeWidgetItem : public KviTalTreeWidgetItem
{
public:
- KviMediaTypeListViewItem(KviTalListView * w,KviMediaType * t);
- ~KviMediaTypeListViewItem();
+ KviMediaTypeTreeWidgetItem(KviTalTreeWidget * w,KviMediaType * t);
+ ~KviMediaTypeTreeWidgetItem();
private:
KviMediaType m_data;
public:
@@ -57,7 +57,7 @@ public:
KviMediaTypesOptionsWidget(QWidget * parent);
~KviMediaTypesOptionsWidget();
private:
- KviTalListView * m_pListView;
+ KviTalTreeWidget * m_pTreeWidget;
QLineEdit * m_pDescription;
QLineEdit * m_pIanaType;
QLineEdit * m_pFileMask;
@@ -67,14 +67,14 @@ private:
QLineEdit * m_pRemoteExecCommandline;
QLineEdit * m_pIcon;
QPushButton * m_pDelete;
- KviMediaTypeListViewItem * m_pLastItem;
+ KviMediaTypeTreeWidgetItem * m_pLastItem;
private:
- void fillListView();
+ void fillTreeWidget();
void saveLastItem();
void enableOrDisable();
void setLineEdits();
private slots:
- void currentItemChanged(KviTalListViewItem *it);
+ void currentItemChanged(KviTalTreeWidgetItem *it,KviTalTreeWidgetItem *prev);
void newMediaType();
void delMediaType();
public:
diff --git a/src/modules/options/optw_messages.cpp b/src/modules/options/optw_messages.cpp
index 8b2be8f08..aa70d6d2e 100644
--- a/src/modules/options/optw_messages.cpp
+++ b/src/modules/options/optw_messages.cpp
@@ -413,7 +413,7 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
lbt = new KviTalListBoxText(m_pLevelListBox,tmpn);
}
- m_pIconButton = new KviStyledToolButton(box);
+ m_pIconButton = new QToolButton(box);
connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(iconButtonClicked()));
m_pIconPopup = new KviTalPopupMenu(this);
@@ -422,7 +422,7 @@ KviMessageColorsOptionsWidget::KviMessageColorsOptionsWidget(QWidget * parent)
m_pIconPopup->insertItem(iw);
- m_pEnableLogging = new KviStyledCheckBox(__tr2qs_ctx("Log this","options"),box);
+ m_pEnableLogging = new QCheckBox(__tr2qs_ctx("Log this","options"),box);
KviTalHBox * h = new KviTalHBox(this);
addWidgetToLayout(h,0,1,3,1);
diff --git a/src/modules/options/optw_nickserv.cpp b/src/modules/options/optw_nickserv.cpp
index 864038db4..54b16ef3f 100644
--- a/src/modules/options/optw_nickserv.cpp
+++ b/src/modules/options/optw_nickserv.cpp
@@ -30,7 +30,7 @@
#include "kvi_nickserv.h"
#include "kvi_ircmask.h"
#include "kvi_tal_tooltip.h"
-#include "kvi_tal_listview.h"
+#include "kvi_tal_TreeWidget.h"
#include <QLayout>
#include <QLineEdit>
@@ -51,7 +51,7 @@ KviNickServRuleEditor::KviNickServRuleEditor(QWidget * par,bool bUseServerMaskFi
QString html_center_begin = "<center>";
QString html_center_end = "</center>";
- QGridLayout * gl = new QGridLayout(this,bUseServerMaskField ? 7 : 6,4,10,5);
+ QGridLayout * gl = new QGridLayout(this);//,bUseServerMaskField ? 7 : 6,4,10,5);
QLabel * l = new QLabel(__tr2qs_ctx("Registered NickName","options"),this);
gl->addWidget(l,0,0);
@@ -229,26 +229,28 @@ KviNickServOptionsWidget::KviNickServOptionsWidget(QWidget * parent)
KviNickServRuleSet * rs = g_pNickServRuleSet;
bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false;
- m_pNickServCheck = new KviStyledCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),this);
+ m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),this);
gl->addWidget(m_pNickServCheck,0,0,1,3);
// gl->addMultiCellWidget(m_pNickServCheck,0,0,0,2);
- KviTalToolTip::add(m_pNickServCheck,
- __tr2qs_ctx("This check enables the automatic identification with NickServ","options"));
+ KviTalToolTip::add(m_pNickServCheck,__tr2qs_ctx("This check enables the automatic identification with NickServ","options"));
m_pNickServCheck->setChecked(bNickServEnabled);
- m_pNickServListView = new KviTalListView(this);
- m_pNickServListView->setSelectionMode(KviTalListView::Single);
- m_pNickServListView->setAllColumnsShowFocus(true);
- m_pNickServListView->addColumn(__tr2qs_ctx("Nickname","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("Server mask","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("NickServ Mask","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("NickServ Request Mask","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("Identify Command","options"));
- connect(m_pNickServListView,SIGNAL(selectionChanged()),this,SLOT(enableDisableNickServControls()));
+ m_pNickServTreeWidget = new KviTalTreeWidget(this);
+ m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+ m_pNickServTreeWidget->setAllColumnsShowFocus(true);
+ QStringList columnLabels;
+
+ columnLabels.append(__tr2qs_ctx("Nickname","options"));
+ columnLabels.append(__tr2qs_ctx("Server mask","options"));
+ columnLabels.append(__tr2qs_ctx("NickServ Mask","options"));
+ columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options"));
+ columnLabels.append(__tr2qs_ctx("Identify Command","options"));
+ m_pNickServTreeWidget->setHeaderLabels(columnLabels);
+ connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls()));
- gl->addWidget(m_pNickServListView,1,0,1,3);
-// gl->addMultiCellWidget(m_pNickServListView,1,1,0,2);
- KviTalToolTip::add(m_pNickServListView,
+ gl->addWidget(m_pNickServTreeWidget,1,0,1,3);
+// gl->addMultiCellWidget(m_pNickServTreeWidget,1,1,0,2);
+ KviTalToolTip::add(m_pNickServTreeWidget,\
__tr2qs_ctx("<center>This is a list of NickServ identification rules. " \
"KVIrc will use them to model its automatic interaction with NickServ on all the networks.<br>" \
"Please be aware that this feature can cause your NickServ passwords to be stolen " \
@@ -278,7 +280,7 @@ KviNickServOptionsWidget::KviNickServOptionsWidget(QWidget * parent)
KviPointerList<KviNickServRule> * ll = rs->rules();
for(KviNickServRule * rule = ll->first();rule;rule = ll->next())
{
- (void)new KviTalListViewItem(m_pNickServListView,rule->registeredNick(),rule->serverMask(),rule->nickServMask(),rule->messageRegexp(),rule->identifyCommand());
+ (void)new KviTalTreeWidgetItem(m_pNickServTreeWidget,rule->registeredNick(),rule->serverMask(),rule->nickServMask(),rule->messageRegexp(),rule->identifyCommand());
}
}
@@ -293,7 +295,7 @@ KviNickServOptionsWidget::~KviNickServOptionsWidget()
void KviNickServOptionsWidget::editNickServRule()
{
- KviTalListViewItem * it = m_pNickServListView->currentItem();
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem *)m_pNickServTreeWidget->currentItem();
if(!it)return;
KviNickServRule r(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1));
KviNickServRuleEditor ed(this,true);
@@ -312,12 +314,12 @@ void KviNickServOptionsWidget::addNickServRule()
KviNickServRule r;
KviNickServRuleEditor ed(this,true);
if(ed.editRule(&r))
- (void)new KviTalListViewItem(m_pNickServListView,r.registeredNick(),r.serverMask(),r.nickServMask(),r.messageRegexp(),r.identifyCommand());
+ (void)new KviTalTreeWidgetItem(m_pNickServTreeWidget,r.registeredNick(),r.serverMask(),r.nickServMask(),r.messageRegexp(),r.identifyCommand());
}
void KviNickServOptionsWidget::delNickServRule()
{
- KviTalListViewItem * it = m_pNickServListView->currentItem();
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem *)m_pNickServTreeWidget->currentItem();
if(!it)return;
delete it;
enableDisableNickServControls();
@@ -326,9 +328,9 @@ void KviNickServOptionsWidget::delNickServRule()
void KviNickServOptionsWidget::enableDisableNickServControls()
{
bool bEnabled = m_pNickServCheck->isChecked();
- m_pNickServListView->setEnabled(bEnabled);
+ m_pNickServTreeWidget->setEnabled(bEnabled);
m_pAddRuleButton->setEnabled(bEnabled);
- bEnabled = bEnabled && (m_pNickServListView->childCount() > 0) && m_pNickServListView->currentItem();
+ bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem();
m_pDelRuleButton->setEnabled(bEnabled);
m_pEditRuleButton->setEnabled(bEnabled);
}
@@ -336,14 +338,16 @@ void KviNickServOptionsWidget::enableDisableNickServControls()
void KviNickServOptionsWidget::commit()
{
g_pNickServRuleSet->clear();
- if(m_pNickServListView->childCount() > 0)
+ if(m_pNickServTreeWidget->topLevelItemCount())
{
g_pNickServRuleSet->setEnabled(m_pNickServCheck->isChecked());
- KviTalListViewItem * it = m_pNickServListView->firstChild();
- while(it)
+ KviTalTreeWidgetItem * it;// = m_pNickServTreeWidget->firstChild();
+ for (int i=0;i<m_pNickServTreeWidget->topLevelItemCount();i++)
+// while(it)
{
+ it=(KviTalTreeWidgetItem *)m_pNickServTreeWidget->topLevelItem(i);
g_pNickServRuleSet->addRule(KviNickServRule::createInstance(it->text(0),it->text(2),it->text(3),it->text(4),it->text(1)));
- it = it->nextSibling();
+ //it = it->nextSibling();
}
}
KviOptionsWidget::commit();
diff --git a/src/modules/options/optw_nickserv.h b/src/modules/options/optw_nickserv.h
index aa3f43010..8afec3843 100644
--- a/src/modules/options/optw_nickserv.h
+++ b/src/modules/options/optw_nickserv.h
@@ -35,7 +35,7 @@ class QLineEdit;
class QPushButton;
class QCheckBox;
class KviNickServRule;
-class KviTalListView;
+class KviTalTreeWidget;
#define KVI_OPTIONS_WIDGET_ICON_KviNickServOptionsWidget KVI_SMALLICON_NICKSERV
#define KVI_OPTIONS_WIDGET_NAME_KviNickServOptionsWidget __tr2qs_no_lookup("NickServ")
@@ -72,7 +72,7 @@ public:
KviNickServOptionsWidget(QWidget * parent);
~KviNickServOptionsWidget();
protected:
- KviTalListView * m_pNickServListView;
+ KviTalTreeWidget * m_pNickServTreeWidget;
QCheckBox * m_pNickServCheck;
QPushButton * m_pAddRuleButton;
QPushButton * m_pDelRuleButton;
diff --git a/src/modules/options/optw_proxy.cpp b/src/modules/options/optw_proxy.cpp
index 67ad78039..5f83ed9b2 100644
--- a/src/modules/options/optw_proxy.cpp
+++ b/src/modules/options/optw_proxy.cpp
@@ -29,7 +29,7 @@
#include "kvi_netutils.h"
#include "kvi_settings.h"
#include "kvi_options.h"
-#include "kvi_styled_controls.h"
+//#include "kvi_styled_controls.h"
#include <kvi_tal_groupbox.h>
#include "kvi_tal_popupmenu.h"
#include "kvi_tal_tooltip.h"
@@ -40,16 +40,17 @@
#include <QCheckBox>
#include <QCursor>
#include <QToolButton>
+#include <QIcon>
-KviProxyOptionsListViewItem::KviProxyOptionsListViewItem(KviTalListView *parent,const QPixmap &pm,KviProxy * prx)
-: KviTalListViewItem(parent,prx->m_szHostname.ptr())
+KviProxyOptionsTreeWidgetItem::KviProxyOptionsTreeWidgetItem(KviTalTreeWidget *parent,const QPixmap &pm,KviProxy * prx)
+: KviTalTreeWidgetItem(parent,prx->m_szHostname.ptr())
{
- setPixmap(0,pm);
+ setIcon(0,QIcon(pm));
m_pProxyData = new KviProxy(*prx);
}
-KviProxyOptionsListViewItem::~KviProxyOptionsListViewItem()
+KviProxyOptionsTreeWidgetItem::~KviProxyOptionsTreeWidgetItem()
{
delete m_pProxyData;
}
@@ -61,34 +62,35 @@ KviProxyOptionsWidget::KviProxyOptionsWidget(QWidget * parent)
addBoolSelector(0,0,1,0,__tr2qs_ctx("Use proxy","options"),KviOption_boolUseProxyHost);
- m_pListView = new KviTalListView(this);
- addWidgetToLayout(m_pListView,0,1,0,1);
- m_pListView->addColumn(__tr2qs_ctx("Proxy","options"));
- m_pListView->setRootIsDecorated(true);
- m_pListView->setAllColumnsShowFocus(true);
- m_pListView->setSelectionMode(KviTalListView::Single);
+ m_pTreeWidget = new KviTalTreeWidget(this);
+ addWidgetToLayout(m_pTreeWidget,0,1,0,1);
+ m_pTreeWidget->addColumn(__tr2qs_ctx("Proxy","options"));
+ m_pTreeWidget->setRootIsDecorated(true);
+ m_pTreeWidget->setAllColumnsShowFocus(true);
+ m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
- connect(m_pListView,SIGNAL(selectionChanged(KviTalListViewItem *)),
- this,SLOT(listViewItemSelectionChanged(KviTalListViewItem *)));
- connect(m_pListView,SIGNAL(rightButtonPressed(KviTalListViewItem *,const QPoint &,int)),
- this,SLOT(listViewRightButtonPressed(KviTalListViewItem *,const QPoint &,int)));
+ connect(m_pTreeWidget,SIGNAL(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)),
+ this,SLOT(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)));
+ m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)),
+ this,SLOT(customContextMenuRequested(const QPoint &)));
QString tiptxt = __tr2qs_ctx("<center>This is the list of available proxy servers.<br>" \
"Right-click on the list to add or remove proxies.</center>","options");
- mergeTip(m_pListView,tiptxt);
- mergeTip(m_pListView->viewport(),tiptxt);
+ mergeTip(m_pTreeWidget,tiptxt);
+ mergeTip(m_pTreeWidget->viewport(),tiptxt);
KviTalVBox * vbox = new KviTalVBox(this);
addWidgetToLayout(vbox,1,1,1,1);
- QToolButton * tb = new KviStyledToolButton(vbox);
- tb->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)));
+ QToolButton * tb = new QToolButton(vbox);
+ tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY))));
tb->setAutoRaise(true);
connect(tb,SIGNAL(clicked()),this,SLOT(newProxy()));
mergeTip(tb,__tr2qs_ctx("New Proxy","options"));
- tb = new KviStyledToolButton(vbox);
- tb->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)));
+ tb = new QToolButton(vbox);
+ tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT))));
//tb->setEnabled(false);
tb->setAutoRaise(true);
connect(tb,SIGNAL(clicked()),this,SLOT(removeCurrent()));
@@ -114,14 +116,14 @@ KviProxyOptionsWidget::KviProxyOptionsWidget(QWidget * parent)
m_pPassLabel = new QLabel(__tr2qs_ctx("Password:","options"),gbox);
m_pPassEdit = new QLineEdit(gbox);
m_pProtocolLabel = new QLabel(__tr2qs_ctx("Protocol:","options"),gbox);
- m_pProtocolBox = new QComboBox(false,gbox);
+ m_pProtocolBox = new QComboBox(gbox);
QStringList l;
KviProxy::getSupportedProtocolNames(l);
- m_pProtocolBox->insertStringList(l);
+ m_pProtocolBox->addItems(l);
- m_pIpV6Check = new KviStyledCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox);
+ m_pIpV6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox);
connect(m_pIpV6Check,SIGNAL(toggled(bool)),this,SLOT(ipV6CheckToggled(bool)));
#ifndef COMPILE_IPV6_SUPPORT
m_pIpV6Check->setEnabled(false);
@@ -148,26 +150,26 @@ void KviProxyOptionsWidget::ipV6CheckToggled(bool bEnabled)
void KviProxyOptionsWidget::fillProxyList()
{
- KviProxyOptionsListViewItem * prx;
+ KviProxyOptionsTreeWidgetItem * prx;
KviPointerList<KviProxy> * l = g_pProxyDataBase->proxyList();
for(KviProxy * p = l->first();p;p = l->next())
{
- prx = new KviProxyOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),p);
+ prx = new KviProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),p);
if(p == g_pProxyDataBase->currentProxy())
{
- m_pListView->setSelected(prx,true);
- m_pListView->ensureItemVisible(prx);
+ prx->setSelected(true);
+ m_pTreeWidget->scrollToItem(prx);
}
}
- if(!(g_pProxyDataBase->currentProxy()))listViewItemSelectionChanged(0);
+ if(!(g_pProxyDataBase->currentProxy()))currentItemChanged(0,0);
}
-void KviProxyOptionsWidget::listViewItemSelectionChanged(KviTalListViewItem *it)
+void KviProxyOptionsWidget::currentItemChanged(KviTalTreeWidgetItem *it,KviTalTreeWidgetItem *prev)
{
if(m_pLastEditedItem)saveLastItem();
- m_pLastEditedItem = (KviProxyOptionsListViewItem *)it;
+ m_pLastEditedItem = (KviProxyOptionsTreeWidgetItem *)it;
m_pProxyLabel->setEnabled(m_pLastEditedItem);
m_pProxyEdit->setEnabled(m_pLastEditedItem);
@@ -193,10 +195,10 @@ void KviProxyOptionsWidget::listViewItemSelectionChanged(KviTalListViewItem *it)
for(int i=0;i<m_pProtocolBox->count();i++)
{
- KviStr txt = m_pProtocolBox->text(i);
+ KviStr txt = m_pProtocolBox->itemText(i);
if(kvi_strEqualCI(m_pLastEditedItem->m_pProxyData->protocolName(),txt.ptr()))
{
- m_pProtocolBox->setCurrentItem(i);
+ m_pProtocolBox->setCurrentIndex(i);
break;
}
}
@@ -288,18 +290,21 @@ void KviProxyOptionsWidget::commit()
{
saveLastItem();
g_pProxyDataBase->clear();
- KviProxyOptionsListViewItem * it = (KviProxyOptionsListViewItem *)m_pListView->firstChild();
- while(it)
+ KviProxyOptionsTreeWidgetItem * it;// = (KviProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItemCount();
+
+ //while(it)
+ for(int i=0;i<m_pTreeWidget->topLevelItemCount();i++)
{
- KviStr tmp = it->text(0);
- if(tmp.hasData())
+ it=(KviProxyOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
+ QString tmp = it->text(0);
+ if(!tmp.isEmpty())
{
- KviProxy * prx = new KviProxy(*(((KviProxyOptionsListViewItem *)it)->m_pProxyData));
+ KviProxy * prx = new KviProxy(*(((KviProxyOptionsTreeWidgetItem *)it)->m_pProxyData));
g_pProxyDataBase->insertProxy(prx);
if(it == m_pLastEditedItem)g_pProxyDataBase->setCurrentProxy(prx);
}
- it = (KviProxyOptionsListViewItem *)it->nextSibling();
+ //it = (KviProxyOptionsTreeWidgetItem *)it->nextSibling();
}
if(g_pProxyDataBase->currentProxy() == 0)
@@ -310,8 +315,9 @@ void KviProxyOptionsWidget::commit()
KviOptionsWidget::commit();
}
-void KviProxyOptionsWidget::listViewRightButtonPressed(KviTalListViewItem *it,const QPoint &pnt,int col)
+void KviProxyOptionsWidget::customContextMenuRequested(const QPoint &pos)
{
+ KviTalTreeWidgetItem *it=(KviTalTreeWidgetItem *)m_pTreeWidget->itemAt(pos);
m_pContextPopup->clear();
m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),__tr2qs_ctx("&New Proxy","options"),this,SLOT(newProxy()));
m_pContextPopup->setItemEnabled(m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Re&move Proxy","options"),this,SLOT(removeCurrent())),it);
@@ -321,9 +327,9 @@ void KviProxyOptionsWidget::listViewRightButtonPressed(KviTalListViewItem *it,co
void KviProxyOptionsWidget::newProxy()
{
KviProxy prx;
- KviProxyOptionsListViewItem * it = new KviProxyOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),&prx);
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ KviProxyOptionsTreeWidgetItem * it = new KviProxyOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PROXY)),&prx);
+ it->setSelected(true);
+ m_pTreeWidget->scrollToItem(it);
}
void KviProxyOptionsWidget::removeCurrent()
@@ -332,13 +338,13 @@ void KviProxyOptionsWidget::removeCurrent()
{
delete m_pLastEditedItem;
m_pLastEditedItem = 0;
- KviTalListViewItem * it = m_pListView->firstChild();
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem *)m_pTreeWidget->topLevelItem(0);
if(it)
{
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ it->setSelected(true);
+ //m_pTreeWidget->ensureItemVisible(it);
} else {
- listViewItemSelectionChanged(0);
+ currentItemChanged(0,0);
}
}
}
diff --git a/src/modules/options/optw_proxy.h b/src/modules/options/optw_proxy.h
index 143957973..9f6ced14f 100644
--- a/src/modules/options/optw_proxy.h
+++ b/src/modules/options/optw_proxy.h
@@ -24,7 +24,7 @@
//
#include "kvi_optionswidget.h"
-#include "kvi_tal_listview.h"
+#include "kvi_tal_treewidget.h"
class QLabel;
class QLineEdit;
@@ -37,11 +37,11 @@ class KviProxyDataBase;
extern KVIRC_API KviProxyDataBase * g_pProxyDataBase;
-class KviProxyOptionsListViewItem : public KviTalListViewItem
+class KviProxyOptionsTreeWidgetItem : public KviTalTreeWidgetItem
{
public:
- KviProxyOptionsListViewItem(KviTalListView *parent,const QPixmap &pm,KviProxy * prx);
- ~KviProxyOptionsListViewItem();
+ KviProxyOptionsTreeWidgetItem(KviTalTreeWidget *parent,const QPixmap &pm,KviProxy * prx);
+ ~KviProxyOptionsTreeWidgetItem();
public:
KviProxy * m_pProxyData;
};
@@ -60,7 +60,7 @@ public:
KviProxyOptionsWidget(QWidget * parent);
~KviProxyOptionsWidget();
protected:
- KviTalListView * m_pListView;
+ KviTalTreeWidget * m_pTreeWidget;
QLabel * m_pProxyLabel;
QLineEdit * m_pProxyEdit;
QLabel * m_pIpLabel;
@@ -75,14 +75,14 @@ protected:
QComboBox * m_pProtocolBox;
KviTalPopupMenu * m_pContextPopup;
QCheckBox * m_pIpV6Check;
- KviProxyOptionsListViewItem * m_pLastEditedItem;
+ KviProxyOptionsTreeWidgetItem * m_pLastEditedItem;
private:
void fillProxyList();
void saveLastItem();
protected slots:
- void listViewItemSelectionChanged(KviTalListViewItem *it);
- void listViewRightButtonPressed(KviTalListViewItem *it,const QPoint &pnt,int col);
+ void currentItemChanged(KviTalTreeWidgetItem *it,KviTalTreeWidgetItem *prev);
+ void customContextMenuRequested(const QPoint &pnt);
void newProxy();
void removeCurrent();
void ipV6CheckToggled(bool bEnabled);
diff --git a/src/modules/options/optw_servers.cpp b/src/modules/options/optw_servers.cpp
index 61175c157..972df5712 100644
--- a/src/modules/options/optw_servers.cpp
+++ b/src/modules/options/optw_servers.cpp
@@ -63,11 +63,14 @@
#include <QComboBox>
#include <QButtonGroup>
#include <QInputDialog>
+#include <QIcon>
KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n)
- : QDialog(par,"network_details",true)
+ : QDialog(par)
{
+ setModal(true);
+ setObjectName("network_details");
m_pOnConnectEditor=0;
m_pOnLoginEditor=0;
@@ -81,7 +84,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
m_pAutoConnectCheck=0;
- m_pNickServListView=0;
+ m_pNickServTreeWidget=0;
m_pNickServCheck=0;
m_pAddRuleButton=0;
m_pDelRuleButton=0;
@@ -92,7 +95,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
QGridLayout * g = new QGridLayout(this);
setWindowTitle(__tr2qs_ctx("Network Details","options"));
- setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)));
+ setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD))));
QString szTmp = "<font size=\"+1\"><b>";
szTmp += n->name();
@@ -138,7 +141,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
l = new QLabel(__tr2qs_ctx("Nickname:","options"),gbox);
m_pNickEditor = new QLineEdit(gbox);
- QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*","options"),gbox);
+ QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*",Qt::CaseSensitive),gbox);
m_pNickEditor->setValidator(v);
m_pNickEditor->setText(n->nickName());
KviTalToolTip::add(m_pNickEditor,__tr2qs_ctx("<center>You can specify a \"special\" <b>nickname</b> that will be used to log in to the servers on this network.<br>" \
@@ -152,7 +155,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
l = new QLabel(__tr2qs_ctx("Encoding:","options"),tab);
gl->addWidget(l,1,0);
- m_pEncodingEditor = new QComboBox(false,tab);
+ m_pEncodingEditor = new QComboBox(tab);
m_pEncodingEditor->setDuplicatesEnabled(false);
gl->addWidget(m_pEncodingEditor,1,1);
KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("<center>This box allows you to choose the preferred encoding for the servers in this network. " \
@@ -163,19 +166,19 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
int current = 0;
KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i);
QString tmp;
- m_pEncodingEditor->insertItem(__tr2qs_ctx("Use System Encoding","options"));
+ m_pEncodingEditor->addItem(__tr2qs_ctx("Use System Encoding","options"));
while(d->szName)
{
KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription);
- m_pEncodingEditor->insertItem(tmp);
+ m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
if(KviQString::equalCI(d->szName,n->encoding()))current = i + 1;
i = i + 1;
d = KviLocale::encodingDescription(i);
}
- m_pEncodingEditor->setCurrentItem(current);
+ m_pEncodingEditor->setCurrentIndex(current);
- m_pAutoConnectCheck = new KviStyledCheckBox(__tr2qs_ctx("Connect to this network at startup","options"),tab);
+ m_pAutoConnectCheck = new QCheckBox(__tr2qs_ctx("Connect to this network at startup","options"),tab);
m_pAutoConnectCheck->setChecked(n->autoConnect());
gl->addWidget(m_pAutoConnectCheck,2,0,1,2);
// gl->addMultiCellWidget(m_pAutoConnectCheck,2,2,0,1);
@@ -250,24 +253,27 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
KviNickServRuleSet * rs = n->nickServRuleSet();
bool bNickServEnabled = rs ? (rs->isEnabled() && !rs->isEmpty()) : false;
- m_pNickServCheck = new KviStyledCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),tab);
+ m_pNickServCheck = new QCheckBox(__tr2qs_ctx("Enable NickServ Identification","options"),tab);
gl->addWidget(m_pNickServCheck,0,0,1,3);
// gl->addMultiCellWidget(m_pNickServCheck,0,0,0,2);
KviTalToolTip::add(m_pNickServCheck,
__tr2qs_ctx("This check enables the automatic identification with NickServ","options"));
m_pNickServCheck->setChecked(bNickServEnabled);
- m_pNickServListView = new KviTalListView(tab);
- m_pNickServListView->setSelectionMode(KviTalListView::Single);
- m_pNickServListView->setAllColumnsShowFocus(true);
- m_pNickServListView->addColumn(__tr2qs_ctx("Nickname","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("NickServ Mask","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("NickServ Request Mask","options"));
- m_pNickServListView->addColumn(__tr2qs_ctx("Identify Command","options"));
- connect(m_pNickServListView,SIGNAL(selectionChanged()),this,SLOT(enableDisableNickServControls()));
- gl->addWidget(m_pNickServListView,1,0,1,3);
-//// gl->addMultiCellWidget(m_pNickServListView,1,1,0,2);
- KviTalToolTip::add(m_pNickServListView,
+ m_pNickServTreeWidget = new KviTalTreeWidget(tab);
+ m_pNickServTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+ m_pNickServTreeWidget->setAllColumnsShowFocus(true);
+ m_pNickServTreeWidget->setColumnCount(4);
+ QStringList columnLabels;
+ columnLabels.append(__tr2qs_ctx("Nickname","options"));
+ columnLabels.append(__tr2qs_ctx("NickServ Mask","options"));
+ columnLabels.append(__tr2qs_ctx("NickServ Request Mask","options"));
+ columnLabels.append(__tr2qs_ctx("Identify Command","options"));
+ m_pNickServTreeWidget->setHeaderLabels(columnLabels);
+ connect(m_pNickServTreeWidget,SIGNAL(itemSelectionChanged()),this,SLOT(enableDisableNickServControls()));
+ gl->addWidget(m_pNickServTreeWidget,1,0,1,3);
+//// gl->addMultiCellWidget(m_pNickServTreeWidget,1,1,0,2);
+ KviTalToolTip::add(m_pNickServTreeWidget,
__tr2qs_ctx("<center>This is a list of NickServ identification rules. " \
"KVIrc will use them to model its automatic interaction with NickServ on this network.<br>" \
"Please be aware that this feature can cause your NickServ passwords to be stolen " \
@@ -295,7 +301,7 @@ KviNetworkDetailsWidget::KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * n
KviPointerList<KviNickServRule> * ll = rs->rules();
for(KviNickServRule * rule = ll->first();rule;rule = ll->next())
{
- (void)new KviTalListViewItem(m_pNickServListView,rule->registeredNick(),rule->nickServMask(),rule->messageRegexp(),rule->identifyCommand());
+ (void)new KviTalTreeWidgetItem(m_pNickServTreeWidget,rule->registeredNick(),rule->nickServMask(),rule->messageRegexp(),rule->identifyCommand());
}
}
@@ -331,7 +337,7 @@ KviNetworkDetailsWidget::~KviNetworkDetailsWidget()
void KviNetworkDetailsWidget::editNickServRule()
{
- KviTalListViewItem * it = m_pNickServListView->currentItem();
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem *) m_pNickServTreeWidget->currentItem();
if(!it)return;
KviNickServRule r(it->text(0),it->text(1),it->text(2),it->text(3));
KviNickServRuleEditor ed(this,false);
@@ -349,12 +355,12 @@ void KviNetworkDetailsWidget::addNickServRule()
KviNickServRule r;
KviNickServRuleEditor ed(this,false);
if(ed.editRule(&r))
- (void)new KviTalListViewItem(m_pNickServListView,r.registeredNick(),r.nickServMask(),r.messageRegexp(),r.identifyCommand());
+ (void)new KviTalTreeWidgetItem(m_pNickServTreeWidget,r.registeredNick(),r.nickServMask(),r.messageRegexp(),r.identifyCommand());
}
void KviNetworkDetailsWidget::delNickServRule()
{
- KviTalListViewItem * it = m_pNickServListView->currentItem();
+ KviTalTreeWidgetItem * it = (KviTalTreeWidgetItem *)m_pNickServTreeWidget->currentItem();
if(!it)return;
delete it;
enableDisableNickServControls();
@@ -363,9 +369,9 @@ void KviNetworkDetailsWidget::delNickServRule()
void KviNetworkDetailsWidget::enableDisableNickServControls()
{
bool bEnabled = m_pNickServCheck->isChecked();
- m_pNickServListView->setEnabled(bEnabled);
+ m_pNickServTreeWidget->setEnabled(bEnabled);
m_pAddRuleButton->setEnabled(bEnabled);
- bEnabled = bEnabled && (m_pNickServListView->childCount() > 0) && m_pNickServListView->currentItem();
+ bEnabled = bEnabled && (m_pNickServTreeWidget->topLevelItemCount()) && m_pNickServTreeWidget->currentItem();
m_pDelRuleButton->setEnabled(bEnabled);
m_pEditRuleButton->setEnabled(bEnabled);
}
@@ -379,26 +385,28 @@ void KviNetworkDetailsWidget::fillData(KviIrcNetwork * n)
if(m_pAutoConnectCheck)
n->setAutoConnect(m_pAutoConnectCheck->isChecked());
if(m_pEncodingEditor)
- if(m_pEncodingEditor->currentItem() <= 0)n->setEncoding(QString::null);
+ if(m_pEncodingEditor->currentIndex() <= 0)n->setEncoding(QString::null);
else {
- KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentItem() - 1);
+ KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1);
n->setEncoding(d->szName);
}
if(m_pChannelListSelector)
m_pChannelListSelector->commit();
if(m_lstChannels.isEmpty())n->setAutoJoinChannelList(0);
else n->setAutoJoinChannelList(new QStringList(m_lstChannels));
- if(m_pNickServListView)
+ if(m_pNickServTreeWidget)
{
- if(m_pNickServListView->childCount() > 0)
+ if(m_pNickServTreeWidget->topLevelItemCount() > 0)
{
KviNickServRuleSet * rs = KviNickServRuleSet::createInstance();
rs->setEnabled(m_pNickServCheck->isChecked());
- KviTalListViewItem * it = m_pNickServListView->firstChild();
- while(it)
+ KviTalTreeWidgetItem * it;// = (KviTalTreeWidgetItem *)m_pNickServTreeWidget->firstChild();
+ for (int i=0;i<m_pNickServTreeWidget->topLevelItemCount();i++)
+ //while(it)
{
+ it=(KviTalTreeWidgetItem *) m_pNickServTreeWidget->topLevelItem(i);
rs->addRule(KviNickServRule::createInstance(it->text(0),it->text(1),it->text(2),it->text(3)));
- it = it->nextSibling();
+ // it = it->nextSibling();
}
n->setNickServRuleSet(rs);
} else n->setNickServRuleSet(0);
@@ -419,13 +427,15 @@ void KviNetworkDetailsWidget::fillData(KviIrcNetwork * n)
KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
- : QDialog(par,"server_details",true)
+ : QDialog(par)//,"server_details",true)
{
+ setModal(true);
+ setObjectName("server_details");
m_szHostname = s->hostName();
QGridLayout * g = new QGridLayout(this);
setWindowTitle(__tr2qs_ctx("Server Details","options"));
- setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)));
+ setWindowIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER))));
m_pHeaderLabel = new QLabel("",this); // the text will be set later
m_pHeaderLabel->setFrameStyle(QFrame::Raised | QFrame::StyledPanel);
@@ -488,7 +498,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
gbox = new KviTalGroupBox(Qt::Horizontal,__tr2qs_ctx("User Mode","options"),tab);
gl->addWidget(gbox,1,0);
- m_pUseDefaultInitUMode = new KviStyledCheckBox(__tr2qs_ctx("Use default user mode","options"),gbox);
+ m_pUseDefaultInitUMode = new QCheckBox(__tr2qs_ctx("Use default user mode","options"),gbox);
KviTalToolTip::add(m_pUseDefaultInitUMode,__tr2qs_ctx("<center>If this is enabled, the global initial <b>user mode</b> (configured from"\
" the identity dialog) will be used. If disabled, you can configure an initial user mode for this server","options"));
bool bHasUmode = !(s->initUMode().isEmpty());
@@ -496,17 +506,17 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
m_pUseDefaultInitUMode->setChecked(!bHasUmode);
connect(m_pUseDefaultInitUMode,SIGNAL(toggled(bool)),this,SLOT(useDefaultInitUModeToggled(bool)));
- m_pIMode = new KviStyledCheckBox(__tr2qs_ctx("Invisible (+i)","options"),gbox);
+ m_pIMode = new QCheckBox(__tr2qs_ctx("Invisible (+i)","options"),gbox);
m_pIMode->setEnabled(bHasUmode);
- m_pIMode->setChecked(bHasUmode ? s->initUMode().contains('i',false) : szDefUMode.contains('i',false));
+ m_pIMode->setChecked(bHasUmode ? s->initUMode().contains('i',Qt::CaseInsensitive) : szDefUMode.contains('i',Qt::CaseInsensitive));
- m_pSMode = new KviStyledCheckBox(__tr2qs_ctx("Server notices (+s)","options"),gbox);
+ m_pSMode = new QCheckBox(__tr2qs_ctx("Server notices (+s)","options"),gbox);
m_pSMode->setEnabled(bHasUmode);
- m_pSMode->setChecked(bHasUmode ? s->initUMode().contains('s',false) : szDefUMode.contains('s',false));
+ m_pSMode->setChecked(bHasUmode ? s->initUMode().contains('s',Qt::CaseInsensitive) : szDefUMode.contains('s',Qt::CaseInsensitive));
- m_pWMode = new KviStyledCheckBox(__tr2qs_ctx("Wallops (+w)","options"),gbox);
+ m_pWMode = new QCheckBox(__tr2qs_ctx("Wallops (+w)","options"),gbox);
m_pWMode->setEnabled(bHasUmode);
- m_pWMode->setChecked(bHasUmode ? s->initUMode().contains('w',false) : szDefUMode.contains('w',false));
+ m_pWMode->setChecked(bHasUmode ? s->initUMode().contains('w',Qt::CaseInsensitive) : szDefUMode.contains('w',Qt::CaseInsensitive));
l = new QLabel("",tab);
gl->addWidget(l,2,0);
@@ -558,7 +568,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
#endif
}
- m_pCacheIpCheck = new KviStyledCheckBox(__tr2qs_ctx("Cache IP address","options"),tab);
+ m_pCacheIpCheck = new QCheckBox(__tr2qs_ctx("Cache IP address","options"),tab);
gl->addWidget(m_pCacheIpCheck,2,0,1,2);
// gl->addMultiCellWidget(m_pCacheIpCheck,2,2,0,1);
KviTalToolTip::add(m_pCacheIpCheck,__tr2qs_ctx("<center>This check will enable <b>IP address caching</b> for this server:<br>" \
@@ -570,7 +580,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
m_pCacheIpCheck->setChecked(s->cacheIp());
- m_pUseIPV6Check = new KviStyledCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),tab);
+ m_pUseIPV6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),tab);
gl->addWidget(m_pUseIPV6Check,3,0,1,2);
// gl->addMultiCellWidget(m_pUseIPV6Check,3,3,0,1);
#ifdef COMPILE_IPV6_SUPPORT
@@ -583,7 +593,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
KviTalToolTip::add(m_pUseIPV6Check,__tr2qs_ctx("<center>This check identifies IPv6 servers.<br>If enabled, KVIrc will attempt to use the IPv6 protocol " \
"(thus your OS <b>must</b> have a working IPv6 stack and you <b>must</b> have an IPv6 connection).</center>","options"));
- m_pUseSSLCheck = new KviStyledCheckBox(__tr2qs_ctx("Use SSL protocol","options"),tab);
+ m_pUseSSLCheck = new QCheckBox(__tr2qs_ctx("Use SSL protocol","options"),tab);
gl->addWidget(m_pUseSSLCheck,4,0,1,2);
// gl->addMultiCellWidget(m_pUseSSLCheck,4,4,0,1);
KviTalToolTip::add(m_pUseSSLCheck,__tr2qs_ctx("<center>This check will cause the connection to use the <b>Secure Socket Layer</b> " \
@@ -594,7 +604,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
m_pUseSSLCheck->setChecked(s->useSSL());
- m_pUseAutoConnect = new KviStyledCheckBox(__tr2qs_ctx("Connect to this server at startup","options"),tab);
+ m_pUseAutoConnect = new QCheckBox(__tr2qs_ctx("Connect to this server at startup","options"),tab);
m_pUseAutoConnect->setChecked(s->autoConnect());
gl->addWidget(m_pUseAutoConnect,5,0,1,2);
@@ -603,7 +613,7 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
l = new QLabel(__tr2qs_ctx("Encoding:","options"),tab);
gl->addWidget(l,6,0);
- m_pEncodingEditor = new QComboBox(false,tab);
+ m_pEncodingEditor = new QComboBox(tab);
m_pEncodingEditor->setDuplicatesEnabled(false);
gl->addWidget(m_pEncodingEditor,6,1);
KviTalToolTip::add(m_pEncodingEditor,__tr2qs_ctx("<center>This box allows you to choose the preferred encoding for this sever. " \
@@ -614,26 +624,27 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
int current = 0;
KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i);
QString tmp;
- m_pEncodingEditor->insertItem(__tr2qs_ctx("Use Network Encoding","options"));
+ m_pEncodingEditor->addItem(__tr2qs_ctx("Use Network Encoding","options"));
while(d->szName)
{
KviQString::sprintf(tmp,"%s (%s)",d->szName,d->szDescription);
- m_pEncodingEditor->insertItem(tmp);
+ m_pEncodingEditor->insertItem(m_pEncodingEditor->count(),tmp);
if(KviQString::equalCI(d->szName,s->encoding()))current = i + 1;
i = i + 1;
d = KviLocale::encodingDescription(i);
}
- m_pEncodingEditor->setCurrentItem(current);
+ m_pEncodingEditor->setCurrentIndex(current);
l = new QLabel(__tr2qs_ctx("Link filter:","options"),tab);
gl->addWidget(l,7,0);
- m_pLinkFilterEditor = new QComboBox(true,tab);
+ m_pLinkFilterEditor = new QComboBox(tab);
+ m_pLinkFilterEditor->setEditable(true);
m_pLinkFilterEditor->setDuplicatesEnabled(false);
gl->addWidget(m_pLinkFilterEditor,7,1);
- m_pLinkFilterEditor->insertItem("");
+ m_pLinkFilterEditor->addItem("");
g_pModuleManager->loadModulesByCaps("linkfilter");
KviModuleExtensionDescriptorList * mexl = KviModuleExtensionManager::instance()->getExtensionList("linkfilter");
@@ -643,16 +654,23 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
if(mexl)
{
for(KviModuleExtensionDescriptor * d = mexl->first();d;d = mexl->next())
- m_pLinkFilterEditor->insertItem(d->name().ptr());
+ m_pLinkFilterEditor->addItem(d->name().ptr());
} else {
if(!s->linkFilter().isEmpty())
- m_pLinkFilterEditor->insertItem(s->linkFilter());
+ m_pLinkFilterEditor->addItem(s->linkFilter());
}
if(!s->linkFilter().isEmpty())
- m_pLinkFilterEditor->setCurrentText(s->linkFilter());
+ {
+ //m_pLinkFilterEditor->setCurrentText(s->linkFilter());
+ int i = m_pLinkFilterEditor->findText(s->linkFilter());
+ if (i != -1)
+ m_pLinkFilterEditor->setCurrentIndex(i);
+ else
+ m_pLinkFilterEditor->setEditText(s->linkFilter());
+ }
else
- m_pLinkFilterEditor->setCurrentText("");
+ m_pLinkFilterEditor->setCurrentIndex(0);
KviTalToolTip::add(m_pLinkFilterEditor,__tr2qs_ctx("<center>This field specifies the name of a module that exports a link filter for this type of server.<br>" \
@@ -678,16 +696,16 @@ KviServerDetailsWidget::KviServerDetailsWidget(QWidget * par,KviIrcServer * s)
"If this field is set in \"Default\" KVirc will use global proxy settings, if it is set in \"Direct connection\" " \
"KVirc will connect to this server without proxy. You can define new proxy server in global options' \"Proxy servers\" menu.</center>","options"));
- m_pProxyEditor->insertItem(__tr2qs_ctx("Default","options"));
- m_pProxyEditor->insertItem(__tr2qs_ctx("Direct connection","options"));
+ m_pProxyEditor->addItem(__tr2qs_ctx("Default","options"));
+ m_pProxyEditor->addItem(__tr2qs_ctx("Direct connection","options"));
KviPointerList<KviProxy> * proxylist = g_pProxyDataBase->proxyList();
for(KviProxy * p = proxylist->first();p;p = proxylist->next())
{
- m_pProxyEditor->insertItem(QString("%1:%2").arg(p->hostname()).arg(p->port()));
+ m_pProxyEditor->insertItem(m_pProxyEditor->count(),QString("%1:%2").arg(p->hostname()).arg(p->port()));
}
if(m_pProxyEditor->count() > (s->proxy()+2))
- m_pProxyEditor->setCurrentItem(s->proxy()+2);
+ m_pProxyEditor->setCurrentIndex(s->proxy()+2);
l = new QLabel("",tab);
@@ -819,9 +837,9 @@ void KviServerDetailsWidget::fillData(KviIrcServer * s)
if(m_pLinkFilterEditor)
s->setLinkFilter(m_pLinkFilterEditor->lineEdit()->text());
if(m_pEncodingEditor)
- if(m_pEncodingEditor->currentItem() <= 0)s->m_szEncoding = "";
+ if(m_pEncodingEditor->currentIndex() <= 0)s->m_szEncoding = "";
else {
- KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentItem() - 1);
+ KviLocale::EncodingDescription * d = KviLocale::encodingDescription(m_pEncodingEditor->currentIndex() - 1);
s->m_szEncoding = d->szName;
}
s->setIpAddress("");
@@ -908,7 +926,7 @@ void KviServerDetailsWidget::fillData(KviIrcServer * s)
if(m_pUseAutoConnect)
s->setAutoConnect(m_pUseAutoConnect->isChecked());
if(m_pProxyEditor)
- s->setProxy(m_pProxyEditor->currentItem()-2);
+ s->setProxy(m_pProxyEditor->currentIndex()-2);
}
void KviServerDetailsWidget::useDefaultInitUModeToggled(bool b)
@@ -921,33 +939,33 @@ void KviServerDetailsWidget::useDefaultInitUModeToggled(bool b)
// kvi_app.cpp
extern KVIRC_API KviIrcServerDataBase * g_pIrcServerDataBase;
-KviServerOptionsListViewItem::KviServerOptionsListViewItem(KviTalListView *parent,const QPixmap &pm,const KviIrcNetwork *n)
- : KviTalListViewItem(parent)
+KviServerOptionsTreeWidgetItem::KviServerOptionsTreeWidgetItem(KviTalTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n)
+ : KviTalTreeWidgetItem(parent)
{
- setPixmap(0,pm);
+ setIcon(0,QIcon(pm));
m_pServerData = 0;
m_pNetworkData = new KviIrcNetwork(*n);
setText(0,n->name());
setText(1,n->description());
}
-KviServerOptionsListViewItem::KviServerOptionsListViewItem(KviTalListViewItem *parent,const QPixmap &pm,const KviIrcServer *s)
- : KviTalListViewItem(parent)
+KviServerOptionsTreeWidgetItem::KviServerOptionsTreeWidgetItem(KviTalTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s)
+ : KviTalTreeWidgetItem(parent)
{
- setPixmap(0,pm);
+ setIcon(0,QIcon(pm));
m_pServerData = new KviIrcServer(*s);
setText(0,s->hostName());
setText(1,s->description());
m_pNetworkData = 0;
}
-KviServerOptionsListViewItem::~KviServerOptionsListViewItem()
+KviServerOptionsTreeWidgetItem::~KviServerOptionsTreeWidgetItem()
{
if(m_pServerData)delete m_pServerData;
if(m_pNetworkData)delete m_pNetworkData;
}
-void KviServerOptionsListViewItem::updateVisibleStrings()
+void KviServerOptionsTreeWidgetItem::updateVisibleStrings()
{
if(m_pNetworkData)
{
@@ -978,43 +996,53 @@ KviServerOptionsWidget::KviServerOptionsWidget(QWidget * parent)
m_pNetworkDetailsDialog = 0;
m_pImportFilter = 0;
- m_pListView = new KviTalListView(this);
- addWidgetToLayout(m_pListView,0,0,0,0);
- m_pListView->addColumn(__tr2qs_ctx("Server","options"));
- m_pListView->addColumn(__tr2qs_ctx("Description","options"));
- m_pListView->setRootIsDecorated(true);
- m_pListView->setAllColumnsShowFocus(true);
- m_pListView->setSelectionMode(KviTalListView::Single);
- connect(m_pListView,SIGNAL(selectionChanged(KviTalListViewItem *)),
- this,SLOT(listViewItemSelectionChanged(KviTalListViewItem *)));
- connect(m_pListView,SIGNAL(rightButtonPressed(KviTalListViewItem *,const QPoint &,int)),
- this,SLOT(listViewRightButtonPressed(KviTalListViewItem *,const QPoint &,int)));
- connect(m_pListView,SIGNAL(doubleClicked(KviTalListViewItem*, const QPoint&, int )),
- this,SLOT(detailsClicked()));
+ m_pTreeWidget = new KviTalTreeWidget(this);
+ addWidgetToLayout(m_pTreeWidget,0,0,0,0);
+ m_pTreeWidget->setColumnCount(2);
+ m_pTreeWidget->setMinimumWidth(500);
+ QStringList columLabels;
+ columLabels.append(__tr2qs_ctx("Server","options"));
+ columLabels.append(__tr2qs_ctx("Description","options"));
+ m_pTreeWidget->setColumnWidth(0,150);
+ m_pTreeWidget->setColumnWidth(1,150);
+
+ m_pTreeWidget->setHeaderLabels(columLabels);
+ m_pTreeWidget->setRootIsDecorated(true);
+ m_pTreeWidget->setAllColumnsShowFocus(true);
+ m_pTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
+ m_pTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(m_pTreeWidget,SIGNAL(customContextMenuRequested(const QPoint &)),
+ this,SLOT(customContextMenuRequested(const QPoint &)));
+ connect(m_pTreeWidget,SIGNAL(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)),
+ this,SLOT(currentItemChanged(KviTalTreeWidgetItem *,KviTalTreeWidgetItem *)));
+
+ connect(m_pTreeWidget,SIGNAL(itemDoubleClicked(KviTalTreeWidgetItem*, int )),
+ this,SLOT(itemDoubleClicked(KviTalTreeWidgetItem*, int )));
QString tiptxt = __tr2qs_ctx("<center>This is the list of available IRC servers.<br>" \
"Right-click on the list to add or remove servers and perform other actions.<br>"\
"Double-click on a item for advanced options.</center>","options");
- KviTalToolTip::add(m_pListView,tiptxt);
- KviTalToolTip::add(m_pListView->viewport(),tiptxt);
+ KviTalToolTip::add(m_pTreeWidget,tiptxt);
+ KviTalToolTip::add(m_pTreeWidget->viewport(),tiptxt);
KviTalVBox * vbox = new KviTalVBox(this);
+ vbox->setSpacing(0);
addWidgetToLayout(vbox,1,0,1,0);
- m_pNewNetworkButton = new KviStyledToolButton(vbox);
- m_pNewNetworkButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)));
+ m_pNewNetworkButton = new QToolButton(vbox);
+ m_pNewNetworkButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD))));
m_pNewNetworkButton->setAutoRaise(true);
connect(m_pNewNetworkButton,SIGNAL(clicked()),this,SLOT(newNetwork()));
KviTalToolTip::add(m_pNewNetworkButton,__tr2qs_ctx("New Network","options"));
- m_pNewServerButton = new KviStyledToolButton(vbox);
- m_pNewServerButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)));
+ m_pNewServerButton = new QToolButton(vbox);
+ m_pNewServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER))));
m_pNewServerButton->setAutoRaise(true);
connect(m_pNewServerButton,SIGNAL(clicked()),this,SLOT(newServer()));
KviTalToolTip::add(m_pNewServerButton,__tr2qs_ctx("New Server","options"));
- m_pRemoveButton = new KviStyledToolButton(vbox);
- m_pRemoveButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)));
+ m_pRemoveButton = new QToolButton(vbox);
+ m_pRemoveButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT))));
m_pRemoveButton->setEnabled(false);
m_pRemoveButton->setAutoRaise(true);
connect(m_pRemoveButton,SIGNAL(clicked()),this,SLOT(removeCurrent()));
@@ -1023,15 +1051,15 @@ KviServerOptionsWidget::KviServerOptionsWidget(QWidget * parent)
QFrame * f = new QFrame(vbox);
f->setFrameStyle(QFrame::Sunken | QFrame::HLine);
- m_pCopyServerButton = new KviStyledToolButton(vbox);
- m_pCopyServerButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY)));
+ m_pCopyServerButton = new QToolButton(vbox);
+ m_pCopyServerButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_COPY))));
m_pCopyServerButton->setEnabled(false);
m_pCopyServerButton->setAutoRaise(true);
connect(m_pCopyServerButton,SIGNAL(clicked()),this,SLOT(copyServer()));
KviTalToolTip::add(m_pCopyServerButton,__tr2qs_ctx("Copy Server","options"));
- m_pPasteServerButton = new KviStyledToolButton(vbox);
- m_pPasteServerButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE)));
+ m_pPasteServerButton = new QToolButton(vbox);
+ m_pPasteServerButton->setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE)));
m_pPasteServerButton->setEnabled(false);
m_pPasteServerButton->setAutoRaise(true);
connect(m_pPasteServerButton,SIGNAL(clicked()),this,SLOT(pasteServer()));
@@ -1040,11 +1068,11 @@ KviServerOptionsWidget::KviServerOptionsWidget(QWidget * parent)
f = new QFrame(vbox);
f->setFrameStyle(QFrame::Sunken | QFrame::HLine);
- m_pImportButton = new KviStyledToolButton(vbox);
- m_pImportButton->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FOLDER)));
+ m_pImportButton = new QToolButton(vbox);
+ m_pImportButton->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FOLDER))));
m_pImportButton->setAutoRaise(true);
- m_pImportButton->setPopup(m_pImportPopup);
- m_pImportButton->setPopupDelay(1);
+ m_pImportButton->setMenu(m_pImportPopup);
+// m_pImportButton->setPopupDelay(1);
KviTalToolTip::add(m_pImportButton,__tr2qs_ctx("Import List","options"));
QFrame * lll = new QFrame(vbox);
@@ -1057,7 +1085,7 @@ KviServerOptionsWidget::KviServerOptionsWidget(QWidget * parent)
KviTalToolTip::add(m_pSrvNetEdit,__tr2qs_ctx("<center>This is the name of the currently selected server or network</center>","options"));
/*
- m_pIpV6Check = new KviStyledCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox);
+ m_pIpV6Check = new QCheckBox(__tr2qs_ctx("Use IPv6 protocol","options"),gbox);
#ifndef COMPILE_IPV6_SUPPORT
m_pIpV6Check->setEnabled(false);
@@ -1086,11 +1114,11 @@ KviServerOptionsWidget::KviServerOptionsWidget(QWidget * parent)
connect(m_pRecentPopup,SIGNAL(aboutToShow()),this,SLOT(recentServersPopupAboutToShow()));
connect(m_pRecentPopup,SIGNAL(activated(int)),this,SLOT(recentServersPopupClicked(int)));
- QToolButton * tb = new KviStyledToolButton(this);
+ QToolButton * tb = new QToolButton(this);
addWidgetToLayout(tb,1,2,1,2);
- tb->setPixmap(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_TIME)));
- tb->setPopup(m_pRecentPopup);
- tb->setPopupDelay(1);
+ tb->setIcon(QIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_TIME))));
+ tb->setMenu(m_pRecentPopup);
+// tb->setPopupDelay(1);
KviTalToolTip::add(tb,__tr2qs_ctx("<center>This button shows a list of recently used servers. It allows you to quickly find them in the list.</center>","options"));
KviBoolSelector * b = addBoolSelector(0,3,1,3,__tr2qs_ctx("Show this dialog at startup","options"),KviOption_boolShowServersConnectDialogOnStart);
@@ -1146,21 +1174,27 @@ void KviServerOptionsWidget::recentServersPopupClicked(int id)
kvi_u32_t uPort = port.toUInt(&bOk);
// we have the port too
- KviTalListViewItem * pFoundNet = 0;
- KviTalListViewItem * pFoundSrv = 0;
+ KviTalTreeWidgetItem * pFoundNet = 0;
+ KviTalTreeWidgetItem * pFoundSrv = 0;
- for(KviTalListViewItem * net = m_pListView->firstChild();net;net = net->nextSibling())
+ //for(KviTalTreeWidgetItem * net = m_pTreeWidget->firstChild();net;net = net->nextSibling()
+ KviTalTreeWidgetItem * net;
+ for(int i=0;i<m_pTreeWidget->topLevelItemCount();i++)
{
- for(KviTalListViewItem * srv = net->firstChild();srv;srv = srv->nextSibling())
+ net=(KviTalTreeWidgetItem *) m_pTreeWidget->topLevelItem(i);
+ //for(KviTalTreeWidgetItem * srv = net->firstChild();srv;srv = srv->nextSibling())
+ KviTalTreeWidgetItem * srv;
+ for (int j=0;j<net->childCount();j++)
{
- KviStr tmp = ((KviServerOptionsListViewItem *)srv)->m_pServerData->hostName();
+ srv=(KviTalTreeWidgetItem *)net->child(i);
+ KviStr tmp = ((KviServerOptionsTreeWidgetItem *)srv)->m_pServerData->hostName();
if(kvi_strEqualCI(tmp.ptr(),data.ptr()))
{
- if(((KviServerOptionsListViewItem *)srv)->m_pServerData->port() == uPort)
+ if(((KviServerOptionsTreeWidgetItem *)srv)->m_pServerData->port() == uPort)
{
- net->setOpen(true);
- m_pListView->setCurrentItem(srv);
- m_pListView->ensureItemVisible(srv);
+ net->setExpanded(true);
+ m_pTreeWidget->setCurrentItem(srv);
+ m_pTreeWidget->scrollToItem(srv);
return;
} else {
if(!pFoundNet)
@@ -1179,9 +1213,9 @@ void KviServerOptionsWidget::recentServersPopupClicked(int id)
// fallback to the server with the wrong port
if(pFoundNet)
{
- pFoundNet->setOpen(true);
- m_pListView->setCurrentItem(pFoundSrv);
- m_pListView->ensureItemVisible(pFoundSrv);
+ pFoundNet->setExpanded(true);
+ m_pTreeWidget->setCurrentItem(pFoundSrv);
+ m_pTreeWidget->scrollToItem(pFoundSrv);
}
}
@@ -1196,37 +1230,40 @@ void KviServerOptionsWidget::connectCurrentClicked()
void KviServerOptionsWidget::fillServerList()
{
- KviServerOptionsListViewItem * net;
- KviServerOptionsListViewItem * srv;
- KviServerOptionsListViewItem * cur = 0;
+ KviServerOptionsTreeWidgetItem * net;
+ KviServerOptionsTreeWidgetItem * srv;
+ KviServerOptionsTreeWidgetItem * cur = 0;
KviPointerHashTableIterator<QString,KviIrcServerDataBaseRecord> it(*(g_pIrcServerDataBase->recordDict()));
while(KviIrcServerDataBaseRecord * r = it.current())
{
- net = new KviServerOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),r->network());
+ net = new KviServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),r->network());
KviPointerList<KviIrcServer> * sl = r->serverList();
bool bCurrent = r->network()->name() == g_pIrcServerDataBase->currentNetworkName().toUtf8().data();
- net->setOpen(bCurrent);
+ net->setExpanded(bCurrent);
for(KviIrcServer * s = sl->first();s;s = sl->next())
{
- srv = new KviServerOptionsListViewItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),s);
+ srv = new KviServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),s);
if((s == r->currentServer()) && bCurrent)
{
- m_pListView->setSelected(srv,true);
+ srv->setSelected(true);
cur = srv;
}
}
++it;
}
- if(cur)m_pListView->ensureItemVisible(cur);
+ if(cur)m_pTreeWidget->scrollToItem(cur);
}
-
-void KviServerOptionsWidget::listViewItemSelectionChanged(KviTalListViewItem *it)
+void KviServerOptionsWidget::itemDoubleClicked(KviTalTreeWidgetItem*, int )
+{
+ detailsClicked();
+}
+void KviServerOptionsWidget::currentItemChanged(KviTalTreeWidgetItem *it,KviTalTreeWidgetItem *prev)
{
saveLastItem();
- m_pLastEditedItem = (KviServerOptionsListViewItem *)it;
+ m_pLastEditedItem = (KviServerOptionsTreeWidgetItem *)it;
if(m_pLastEditedItem)
{
@@ -1280,61 +1317,67 @@ void KviServerOptionsWidget::commit()
{
saveLastItem();
g_pIrcServerDataBase->clear();
- KviServerOptionsListViewItem * it = (KviServerOptionsListViewItem *)m_pListView->firstChild();
- while(it)
+// KviServerOptionsTreeWidgetItem * it = (KviServerOptionsTreeWidgetItem *)m_pTreeWidget->firstChild();
+ KviServerOptionsTreeWidgetItem * network;
+ for (int i=0;i<m_pTreeWidget->topLevelItemCount();i++)
+ //while(it)
{
- QString tmp = it->m_pNetworkData ? it->m_pNetworkData->name() : QString::null;
- if(!tmp.isEmpty())
+ network=(KviServerOptionsTreeWidgetItem *) m_pTreeWidget->topLevelItem(i);
+ QString tmp = network->m_pNetworkData->name();
+ KviIrcNetwork * net = 0;
+ KviIrcServerDataBaseRecord * r = g_pIrcServerDataBase->findRecord(tmp);
+ if(r)
{
- KviIrcNetwork * net = 0;
- KviIrcServerDataBaseRecord * r = g_pIrcServerDataBase->findRecord(tmp);
- if(r)
- {
- net = r->network();
- net->copyFrom(*(it->m_pNetworkData));
- } else {
- net = new KviIrcNetwork(tmp);
- net->copyFrom(*(it->m_pNetworkData));
- r = g_pIrcServerDataBase->insertNetwork(net);
- }
- if(it == m_pLastEditedItem)g_pIrcServerDataBase->setCurrentNetwork(net->name());
-
- KviServerOptionsListViewItem * ch = (KviServerOptionsListViewItem *)it->firstChild();
+ net = r->network();
+ net->copyFrom(*(network->m_pNetworkData));
+ } else {
+ net = new KviIrcNetwork(tmp);
+ net->copyFrom(*(network->m_pNetworkData));
+ r = g_pIrcServerDataBase->insertNetwork(net);
+ }
+ if(network == m_pLastEditedItem)g_pIrcServerDataBase->setCurrentNetwork(net->name());
+
+ KviServerOptionsTreeWidgetItem * ch;
+ for (int j=0;j<network->childCount();i++)
+ {
+ //KviServerOptionsTreeWidgetItem * ch;// = (KviServerOptionsTreeWidgetItem *)it->firstChild();
KviIrcServer *srv;
-
- while(ch)
+ ch=(KviServerOptionsTreeWidgetItem *)network->child(i);
+ // while(ch)
+ // {
+ if(ch->m_pServerData)
{
- if(ch->m_pServerData)
+ if(!ch->m_pServerData->m_szHostname.isEmpty())
{
- if(!ch->m_pServerData->m_szHostname.isEmpty())
+ srv = r->findServer(ch->m_pServerData);
+ if(!srv)
+ {
+ srv = new KviIrcServer(*(ch->m_pServerData));
+ r->insertServer(srv);
+ } else *srv = *(ch->m_pServerData);
+ if(srv->id().isEmpty())srv->generateUniqueId();
+ if(ch == m_pLastEditedItem)
{
- srv = r->findServer(ch->m_pServerData);
- if(!srv)
- {
- srv = new KviIrcServer(*(ch->m_pServerData));
- r->insertServer(srv);
- } else *srv = *(ch->m_pServerData);
- if(srv->id().isEmpty())srv->generateUniqueId();
- if(ch == m_pLastEditedItem)
- {
- g_pIrcServerDataBase->setCurrentNetwork(net->name());
- r->setCurrentServer(srv);
- }
+ g_pIrcServerDataBase->setCurrentNetwork(net->name());
+ r->setCurrentServer(srv);
}
}
- ch = (KviServerOptionsListViewItem *)ch->nextSibling();
}
+ //ch = (KviServerOptionsTreeWidgetItem *)ch->nextSibling();
}
- it = (KviServerOptionsListViewItem *)it->nextSibling();
+
}
+ // it = (KviServerOptionsTreeWidgetItem *)it->nextSibling();
+//}
KviOptionsWidget::commit();
}
-void KviServerOptionsWidget::listViewRightButtonPressed(KviTalListViewItem *it,const QPoint &pnt,int col)
+void KviServerOptionsWidget::customContextMenuRequested(const QPoint &pnt)
{
int id;
- bool bServer = (it && ((KviServerOptionsListViewItem *)it)->m_pServerData);
+ KviTalTreeWidgetItem *it=(KviTalTreeWidgetItem *) m_pTreeWidget->itemAt(pnt);
+ bool bServer = (it && ((KviServerOptionsTreeWidgetItem *)it)->m_pServerData);
m_pContextPopup->clear();
m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),__tr2qs_ctx("New Network","options"),this,SLOT(newNetwork()));
id = m_pContextPopup->insertItem(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CUT)),__tr2qs_ctx("Remove Network","options"),this,SLOT(removeCurrent()));
@@ -1423,16 +1466,19 @@ void KviServerOptionsWidget::importerDead()
void KviServerOptionsWidget::importServer(const KviIrcServer &s,const QString &network)
{
- KviServerOptionsListViewItem * net = findNetItem(network);
+ KviServerOptionsTreeWidgetItem * net = findNetItem(network);
if(!net)
{
KviIrcNetwork d(network);
- net = new KviServerOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d);
- net->setOpen(true);
+ net = new KviServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d);
+ net->setExpanded(true);
}
- for(KviServerOptionsListViewItem * srv = (KviServerOptionsListViewItem *)net->firstChild();srv;srv = (KviServerOptionsListViewItem *)srv->nextSibling())
+ //for(KviServerOptionsTreeWidgetItem * srv = (KviServerOptionsTreeWidgetItem *)net->firstChild();srv;srv = (KviServerOptionsTreeWidgetItem *)srv->nextSibling())
+ KviServerOptionsTreeWidgetItem * srv ;
+ for(int i=0;i<net->childCount();i++)
{
+ srv=(KviServerOptionsTreeWidgetItem *) net->child(i);
if((srv)->m_pServerData->useSSL() == s.useSSL())
{
if(srv->m_pServerData->isIpV6() == s.isIpV6())
@@ -1444,8 +1490,8 @@ void KviServerOptionsWidget::importServer(const KviIrcServer &s,const QString &n
if(!s.ipAddress().isEmpty())srv->m_pServerData->setIpAddress(s.ipAddress());
if(!s.password().isEmpty())srv->m_pServerData->setPassword(s.password());
if(!s.nickName().isEmpty())srv->m_pServerData->setNickName(s.nickName());
- m_pListView->setCurrentItem(srv);
- m_pListView->ensureItemVisible(srv);
+ m_pTreeWidget->setCurrentItem(srv);
+ m_pTreeWidget->scrollToItem(srv);
return;
}
}
@@ -1453,28 +1499,28 @@ void KviServerOptionsWidget::importServer(const KviIrcServer &s,const QString &n
}
// not found : add it!
- KviServerOptionsListViewItem * newServer = new KviServerOptionsListViewItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&s);
- m_pListView->setCurrentItem(newServer);
- m_pListView->ensureItemVisible(newServer);
+ KviServerOptionsTreeWidgetItem * newServer = new KviServerOptionsTreeWidgetItem(net,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&s);
+ m_pTreeWidget->setCurrentItem(newServer);
+ m_pTreeWidget->scrollToItem(newServer);
}
void KviServerOptionsWidget::newNetwork()
{
KviIrcNetwork d(__tr2qs_ctx("New Network","options"));
- KviServerOptionsListViewItem * it = new KviServerOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d);
- it->setOpen(true);
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ KviServerOptionsTreeWidgetItem * it = new KviServerOptionsTreeWidgetItem(m_pTreeWidget,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),&d);
+ it->setExpanded(true);
+ it->setSelected(true);
+ m_pTreeWidget->scrollToItem(it);
}
void KviServerOptionsWidget::newServer()
{
if(m_pLastEditedItem)
{
- KviServerOptionsListViewItem * net;
+ KviServerOptionsTreeWidgetItem * net;
if(m_pLastEditedItem->m_pServerData)
{
- net = (KviServerOptionsListViewItem *)m_pLastEditedItem->parent();
+ net = (KviServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent();
if(!net)return;
}
else net = m_pLastEditedItem;
@@ -1484,13 +1530,13 @@ void KviServerOptionsWidget::newServer()
tmp.setCacheIp(false);
tmp.generateUniqueId();
- KviServerOptionsListViewItem * it = new KviServerOptionsListViewItem(net,
+ KviServerOptionsTreeWidgetItem * it = new KviServerOptionsTreeWidgetItem(net,
*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),&tmp);
- net->setOpen(true);
+ net->setExpanded(true);
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ it->setSelected(true);
+ m_pTreeWidget->scrollToItem(it);
}
}
@@ -1513,58 +1559,63 @@ void KviServerOptionsWidget::pasteServer()
{
if(m_pLastEditedItem)
{
- KviServerOptionsListViewItem * net;
+ KviServerOptionsTreeWidgetItem * net;
if(m_pLastEditedItem->m_pServerData)
{
- net = (KviServerOptionsListViewItem *)m_pLastEditedItem->parent();
+ net = (KviServerOptionsTreeWidgetItem *)m_pLastEditedItem->parent();
if(!net)return;
}
else net = m_pLastEditedItem;
- KviServerOptionsListViewItem * it = new KviServerOptionsListViewItem(net,
+ KviServerOptionsTreeWidgetItem * it = new KviServerOptionsTreeWidgetItem(net,
*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)),m_pClipboard);
- net->setOpen(true);
+ net->setExpanded(true);
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ it->setSelected(true);
+ m_pTreeWidget->scrollToItem(it);
}
}
}
void KviServerOptionsWidget::removeCurrent()
{
+ /*
if(m_pLastEditedItem)
{
- KviTalListViewItem * it = m_pLastEditedItem->itemAbove();
+ KviTalTreeWidgetItem * it = m_pLastEditedItem->itemAbove();
if(!it)it = m_pLastEditedItem->firstChild() ? m_pLastEditedItem->nextSibling() : m_pLastEditedItem->itemBelow();
delete m_pLastEditedItem;
m_pLastEditedItem = 0;
- if(!it)it = m_pListView->firstChild();
+ if(!it)it = m_pTreeWidget->firstChild();
if(it)
{
- m_pListView->setSelected(it,true);
- m_pListView->ensureItemVisible(it);
+ it->setSelected(true);
+ m_pTreeWidget->scrollToItem(it);
}
}
+ */
}
-KviServerOptionsListViewItem * KviServerOptionsWidget::findNetItem(const QString &netname)
+KviServerOptionsTreeWidgetItem * KviServerOptionsWidget::findNetItem(const QString &netname)
{
- KviServerOptionsListViewItem * it = (KviServerOptionsListViewItem *)m_pListView->firstChild();
- while(it)
+
+ KviServerOptionsTreeWidgetItem * it;// = (KviServerOptionsTreeWidgetItem *)m_pTreeWidget->firstChild();
+ //while(it)
+ for(int i=0;i<m_pTreeWidget->topLevelItemCount();i++)
{
+ it=(KviServerOptionsTreeWidgetItem *)m_pTreeWidget->topLevelItem(i);
if(KviQString::equalCI(it->text(0),netname))return it;
- it = (KviServerOptionsListViewItem *)it->nextSibling();
+ // it = (KviServerOptionsTreeWidgetItem *)it->nextSibling();
}
return 0;
}
void KviServerOptionsWidget::clearList()
{
- m_pListView->clear();
+ m_pTreeWidget->clear();
m_pLastEditedItem = 0;
- listViewItemSelectionChanged(0);
+ currentItemChanged(0,0);
}
void KviServerOptionsWidget::detailsClicked()
diff --git a/src/modules/options/optw_servers.h b/src/modules/options/optw_servers.h
index 97a773f9e..efaf51308 100644
--- a/src/modules/options/optw_servers.h
+++ b/src/modules/options/optw_servers.h
@@ -26,7 +26,7 @@
//=============================================================================
#include "kvi_optionswidget.h"
-#include "kvi_tal_listview.h"
+#include "kvi_tal_TreeWidget.h"
#include <QDialog>
#include <QButtonGroup>
@@ -50,12 +50,12 @@ class KviIrcNetworkData;
class KviMexServerImport;
-class KviServerOptionsListViewItem : public KviTalListViewItem
+class KviServerOptionsTreeWidgetItem : public KviTalTreeWidgetItem
{
public:
- KviServerOptionsListViewItem(KviTalListView *parent,const QPixmap &pm,const KviIrcNetwork *n);
- KviServerOptionsListViewItem(KviTalListViewItem *parent,const QPixmap &pm,const KviIrcServer *s);
- ~KviServerOptionsListViewItem();
+ KviServerOptionsTreeWidgetItem(KviTalTreeWidget *parent,const QPixmap &pm,const KviIrcNetwork *n);
+ KviServerOptionsTreeWidgetItem(KviTalTreeWidgetItem *parent,const QPixmap &pm,const KviIrcServer *s);
+ ~KviServerOptionsTreeWidgetItem();
public:
KviIrcServer * m_pServerData;
KviIrcNetwork * m_pNetworkData;
@@ -84,7 +84,7 @@ protected:
QCheckBox * m_pAutoConnectCheck;
- KviTalListView * m_pNickServListView;
+ KviTalTreeWidget * m_pNickServTreeWidget;
QCheckBox * m_pNickServCheck;
QPushButton * m_pAddRuleButton;
QPushButton * m_pDelRuleButton;
@@ -157,7 +157,7 @@ public:
KviServerOptionsWidget(QWidget * parent);
~KviServerOptionsWidget();
protected:
- KviTalListView * m_pListView;
+ KviTalTreeWidget * m_pTreeWidget;
QLabel * m_pSrvNetLabel;
QLineEdit * m_pSrvNetEdit;
//QLabel * m_pPortLabel;
@@ -170,7 +170,7 @@ protected:
//QCheckBox * m_pIpV6Check;
QPushButton * m_pConnectCurrent;
QPushButton * m_pConnectNew;
- KviServerOptionsListViewItem * m_pLastEditedItem;
+ KviServerOptionsTreeWidgetItem * m_pLastEditedItem;
KviServerDetailsWidget * m_pServerDetailsDialog;
KviNetworkDetailsWidget * m_pNetworkDetailsDialog;
KviMexServerImport * m_pImportFilter;
@@ -184,19 +184,20 @@ protected:
private:
void fillServerList();
void saveLastItem();
- KviServerOptionsListViewItem * findNetItem(const QString &netname);
+ KviServerOptionsTreeWidgetItem * findNetItem(const QString &netname);
protected slots:
void importerDead();
void importServer(const KviIrcServer & s,const QString &network);
void importPopupAboutToShow();
- void listViewItemSelectionChanged(KviTalListViewItem *it);
- void listViewRightButtonPressed(KviTalListViewItem *it,const QPoint &pnt,int col);
+ void currentItemChanged(KviTalTreeWidgetItem *cur,KviTalTreeWidgetItem *prev);
+ void customContextMenuRequested(const QPoint &pnt);
void newNetwork();
void removeCurrent();
void newServer();
void copyServer();
void pasteServer();
void clearList();
+ void itemDoubleClicked(KviTalTreeWidgetItem*, int );
void detailsClicked();
void connectCurrentClicked();
void recentServersPopupAboutToShow();
diff --git a/src/modules/options/optw_sound.cpp b/src/modules/options/optw_sound.cpp
index 42dbe1e86..0a2ec002c 100644
--- a/src/modules/options/optw_sound.cpp
+++ b/src/modules/options/optw_sound.cpp
@@ -124,7 +124,7 @@ KviSoundGeneralOptionsWidget::KviSoundGeneralOptionsWidget(QWidget * parent)
m_pWinampEncodingCombo = new QComboBox(h);
- m_pWinampEncodingCombo->insertItem(__tr2qs_ctx("Use Language Encoding","options"));
+ m_pWinampEncodingCombo->addItem(__tr2qs_ctx("Use Language Encoding","options"));
i = 0;
iMatch = 0;
@@ -229,7 +229,7 @@ void KviSoundGeneralOptionsWidget::mediaFillBox()
for(i=0;i<cnt;i++)
{
- QString t = m_pMediaPlayerBox->text(i);
+ QString t = m_pMediaPlayerBox->itemText(i);
if(KviQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer)))
{
m_pMediaPlayerBox->setCurrentIndex(i);
diff --git a/src/modules/options/optw_taskbar.cpp b/src/modules/options/optw_taskbar.cpp
index 46a31a6e9..2ebb42e57 100644
--- a/src/modules/options/optw_taskbar.cpp
+++ b/src/modules/options/optw_taskbar.cpp
@@ -171,7 +171,7 @@ void KviTreeTaskBarBackgroundOptionsWidget::commit()
KviOptionsWidget::commit();
int iFlags=0;
- switch(m_pHorizontalAlign->currentItem())
+ switch(m_pHorizontalAlign->currentIndex())
{
case 1:
iFlags|=Qt::AlignLeft;
@@ -183,7 +183,7 @@ void KviTreeTaskBarBackgroundOptionsWidget::commit()
iFlags|=Qt::AlignHCenter;
break;
}
- switch(m_pVerticalAlign->currentItem())
+ switch(m_pVerticalAlign->currentIndex())
{
case 1:
iFlags|=Qt::AlignTop;
diff --git a/src/modules/options/optw_urlhandlers.cpp b/src/modules/options/optw_urlhandlers.cpp
index 12787c604..72e9d3cc2 100644
--- a/src/modules/options/optw_urlhandlers.cpp
+++ b/src/modules/options/optw_urlhandlers.cpp
@@ -85,37 +85,37 @@ void KviUrlHandlersOptionsWidget::commit()
KviOptionsWidget::commit();
#ifdef COMPILE_ON_WINDOWS
- KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("@MAGIC@","\\\\");
- KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("@MAGIC@","\\\\");
- KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("@MAGIC@","\\\\");
- KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("@MAGIC@","\\\\");
- KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("@MAGIC@","\\\\");
- KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\","@MAGIC@","options");
- KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\","\\\\","options");
- KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("@MAGIC@","\\\\","options");
+ KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\","@MAGIC@");
+ KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\","\\\\");
+ KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("@MAGIC@","\\\\");
//Check for escaped " in url handler ( \" )
- KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\\"","\\\"","options");
- KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\\"","\\\"","options");
- KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\\"","\\\"","options");
- KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\\"","\\\"","options");
- KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\\"","\\\"","options");
- KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\\"","\\\"","options");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpCommand).replace("\\\\\"","\\\"");
+ KVI_OPTION_STRING(KviOption_stringUrlHttpsCommand).replace("\\\\\"","\\\"");
+ KVI_OPTION_STRING(KviOption_stringUrlFtpCommand).replace("\\\\\"","\\\"");
+ KVI_OPTION_STRING(KviOption_stringUrlMailtoCommand).replace("\\\\\"","\\\"");
+ KVI_OPTION_STRING(KviOption_stringUrlFileCommand).replace("\\\\\"","\\\"");
+ KVI_OPTION_STRING(KviOption_stringUrlUnknownCommand).replace("\\\\\"","\\\"");
#endif
}
diff --git a/src/modules/options/optw_userlist.cpp b/src/modules/options/optw_userlist.cpp
index 1eb77c4a8..0200fed84 100644
--- a/src/modules/options/optw_userlist.cpp
+++ b/src/modules/options/optw_userlist.cpp
@@ -88,12 +88,12 @@ KviUserListGridOptionsWidget::KviUserListGridOptionsWidget(QWidget * parent)
QLabel * l = new QLabel(__tr2qs_ctx("Grid type:","options"),hb);
l->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid));
connect(b,SIGNAL(toggled(bool)),l,SLOT(setEnabled(bool)));
- m_pGridTypeCombo = new QComboBox(false,hb);
- m_pGridTypeCombo->insertItem(__tr2qs_ctx("3D Grid","options"));
- m_pGridTypeCombo->insertItem(__tr2qs_ctx("3D Buttons","options"));
- m_pGridTypeCombo->insertItem(__tr2qs_ctx("Plain Grid","options"));
- m_pGridTypeCombo->insertItem(__tr2qs_ctx("Dotted Grid","options"));
- m_pGridTypeCombo->setCurrentItem(KVI_OPTION_UINT(KviOption_uintUserListViewGridType));
+ m_pGridTypeCombo = new QComboBox(hb);
+ m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Grid","options"));
+ m_pGridTypeCombo->addItem(__tr2qs_ctx("3D Buttons","options"));
+ m_pGridTypeCombo->addItem(__tr2qs_ctx("Plain Grid","options"));
+ m_pGridTypeCombo->addItem(__tr2qs_ctx("Dotted Grid","options"));
+ m_pGridTypeCombo->setCurrentIndex(KVI_OPTION_UINT(KviOption_uintUserListViewGridType));
m_pGridTypeCombo->setEnabled(KVI_OPTION_BOOL(KviOption_boolUserListViewDrawGrid));
connect(b,SIGNAL(toggled(bool)),m_pGridTypeCombo,SLOT(setEnabled(bool)));
addRowSpacer(0,3,0,3);
@@ -106,7 +106,7 @@ KviUserListGridOptionsWidget::~KviUserListGridOptionsWidget()
void KviUserListGridOptionsWidget::commit()
{
KviOptionsWidget::commit();
- KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = m_pGridTypeCombo->currentItem();
+ KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = m_pGridTypeCombo->currentIndex();
if(KVI_OPTION_UINT(KviOption_uintUserListViewGridType) > KVI_USERLISTVIEW_GRIDTYPE_MAXIMUM)
KVI_OPTION_UINT(KviOption_uintUserListViewGridType) = KVI_USERLISTVIEW_GRIDTYPE_DEFAULT;
@@ -134,44 +134,44 @@ KviUserListLookBackgroundOptionsWidget::KviUserListLookBackgroundOptionsWidget(Q
m_pVerticalAlign=new QComboBox(this);
addWidgetToLayout(m_pVerticalAlign,1,3,1,3);
- m_pHorizontalAlign->insertItem(__tr2qs_ctx("Tile","options"));
- m_pHorizontalAlign->insertItem(__tr2qs_ctx("Left","options"));
- m_pHorizontalAlign->insertItem(__tr2qs_ctx("Right","options"));
- m_pHorizontalAlign->insertItem(__tr2qs_ctx("Center","options"));
+ m_pHorizontalAlign->addItem(__tr2qs_ctx("Tile","options"));
+ m_pHorizontalAlign->addItem(__tr2qs_ctx("Left","options"));
+ m_pHorizontalAlign->addItem(__tr2qs_ctx("Right","options"));
+ m_pHorizontalAlign->addItem(__tr2qs_ctx("Center","options"));
- m_pVerticalAlign->insertItem(__tr2qs_ctx("Tile","options"));
- m_pVerticalAlign->insertItem(__tr2qs_ctx("Top","options"));
- m_pVerticalAlign->insertItem(__tr2qs_ctx("Bottom","options"));
- m_pVerticalAlign->insertItem(__tr2qs_ctx("Center","options"));
+ m_pVerticalAlign->addItem(__tr2qs_ctx("Tile","options"));
+ m_pVerticalAlign->addItem(__tr2qs_ctx("Top","options"));
+ m_pVerticalAlign->addItem(__tr2qs_ctx("Bottom","options"));
+ m_pVerticalAlign->addItem(__tr2qs_ctx("Center","options"));
switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignHorizontal_Mask)
{
case Qt::AlignLeft:
- m_pHorizontalAlign->setCurrentItem(1);
+ m_pHorizontalAlign->setCurrentIndex(1);
break;
case Qt::AlignRight:
- m_pHorizontalAlign->setCurrentItem(2);
+ m_pHorizontalAlign->setCurrentIndex(2);
break;
case Qt::AlignHCenter:
- m_pHorizontalAlign->setCurrentItem(3);
+ m_pHorizontalAlign->setCurrentIndex(3);
break;
default:
- m_pHorizontalAlign->setCurrentItem(0);
+ m_pHorizontalAlign->setCurrentIndex(0);
}
switch( KVI_OPTION_UINT(KviOption_uintUserListPixmapAlign) & Qt::AlignVertical_Mask)
{
case Qt::AlignTop:
- m_pVerticalAlign->setCurrentItem(1);
+ m_pVerticalAlign->setCurrentIndex(1);
break;
case Qt::AlignBottom:
- m_pVerticalAlign->setCurrentItem(2);
+ m_pVerticalAlign->setCurrentIndex(2);
break;
case Qt::AlignVCenter:
- m_pVerticalAlign->setCurrentItem(3);
+ m_pVerticalAlign->setCurrentIndex(3);
break;
default:
- m_pVerticalAlign->setCurrentItem(0);
+ m_pVerticalAlign->setCurrentIndex(0);
}
@@ -189,7 +189,7 @@ void KviUserListLookBackgroundOptionsWidget::commit()
KviOptionsWidget::commit();
int iFlags=0;
- switch(m_pHorizontalAlign->currentItem())
+ switch(m_pHorizontalAlign->currentIndex())
{
case 1:
iFlags|=Qt::AlignLeft;
@@ -201,7 +201,7 @@ void KviUserListLookBackgroundOptionsWidget::commit()
iFlags|=Qt::AlignHCenter;
break;
}
- switch(m_pVerticalAlign->currentItem())
+ switch(m_pVerticalAlign->currentIndex())
{
case 1:
iFlags|=Qt::AlignTop;