[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/network/kmldonkey/kmldonkey
From: Aleksey Markelov <markelovai () gmail ! com>
Date: 2009-07-06 10:45:45
Message-ID: 1246877145.584836.22190.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 992132 by amarkelov:
Sorting support in MLDonkey config dialog, --qt3
M +23 -23 mlconfig.cpp
M +2 -1 mlconfig.h
M +8 -4 optioneditor.cpp
M +1 -1 optioneditor.h
--- trunk/extragear/network/kmldonkey/kmldonkey/mlconfig.cpp #992131:992132
@@ -38,7 +38,7 @@
{
setObjectName(name);
QVBoxLayout* layout = new QVBoxLayout(this);
- setLayout(layout);
+
Q3IntDictIterator<Network> nwit( KMLDonkey::App->donkey->availableNetworks() );
for ( ; nwit.current(); ++nwit ) {
Network* net = nwit.current();
@@ -78,21 +78,19 @@
// Add regular option sections
OptionEditorWidget* page;
- const QList<DonkeyOption>& list = KMLDonkey::App->donkey->sectionOptions();
- QList<DonkeyOption>::ConstIterator it;
- for (it = list.begin(); it != list.end(); ++it) {
- if (!KMLDonkey::App->advancedConfig && (*it).optionAdvanced())
+ foreach (const DonkeyOption &opt, KMLDonkey::App->donkey->sectionOptions()) {
+ if (!KMLDonkey::App->advancedConfig && opt.optionAdvanced())
continue;
- page = pages[(*it).optionSection()];
+ const QString section = opt.optionSection();
+ page = pages.value(section);
if (!page) {
page = new OptionEditorWidget(this);
- addPage(page, (*it).optionSection());
+ addPage(page, section);
connect(page, SIGNAL(listIsDirty()), SLOT(setDirtyDialog()));
- pages.insert((*it).optionSection(), page);
+ pages.insert(section, page);
}
- page->addOption(*it);
+ page->addOption(opt);
}
-
// Add the root network page
QString networksName = i18nc("mldonkey config: network options page", "Networks");
@@ -100,31 +98,33 @@
QVBoxLayout* l = new QVBoxLayout(w);
l->setSpacing(0);
l->setMargin(0);
- w->setLayout(l);
+
KPageWidgetItem* networkItem = addPage(w, networksName);
m_networkPage = new NetworkPage(w);
l->addWidget(m_networkPage);
connect(m_networkPage, SIGNAL(pageDirty()), SLOT(setDirtyDialog()));
// Add the network sub-pages
- const QList<DonkeyOption>& plist = KMLDonkey::App->donkey->pluginOptions();
- for (it = plist.begin(); it != plist.end(); ++it) {
- if (!KMLDonkey::App->advancedConfig && (*it).optionAdvanced())
+ foreach (const DonkeyOption &opt, KMLDonkey::App->donkey->pluginOptions()) {
+ if (!KMLDonkey::App->advancedConfig && opt.optionAdvanced())
continue;
- QStringList section;
- section << networksName << (*it).optionSection();
- page = pages[(*it).optionSection()];
+ const QString section = opt.optionSection();
+ page = pages.value(section);
if (!page) {
page = new OptionEditorWidget(this);
- addSubPage(networkItem, page, /*section,*/ (*it).optionSection());
+ addSubPage(networkItem, page, section);
connect(page, SIGNAL(listIsDirty()), SLOT(setDirtyDialog()));
- pages.insert((*it).optionSection(), page);
+ pages.insert(section, page);
}
- page->addOption(*it);
+ page->addOption(opt);
}
resize(QSize(580, 420).expandedTo( minimumSizeHint() ));
//setInitialSize(configDialogSize("MLConfigDialog"));
+ foreach (OptionEditorWidget *w, pages) {
+ w->sortByColumn(-1, Qt::AscendingOrder);
+ w->setSortingEnabled(true);
+ }
connect(this, SIGNAL(applyClicked()), this, SLOT(applyOptions()));
connect(this, SIGNAL(accepted()), this, SLOT(applyOptions()));
@@ -138,9 +138,9 @@
void MLDonkeyConfigDialog::applyOptions()
{
- Q3DictIterator<OptionEditorWidget> it(pages);
- for (; it.current(); ++it)
- it.current()->applyChangedOptions(KMLDonkey::App->donkey);
+ foreach (OptionEditorWidget *w, pages) {
+ w->applyChangedOptions(KMLDonkey::App->donkey);
+ }
m_networkPage->applyOptions(KMLDonkey::App->donkey);
enableButton(Apply, false);
}
--- trunk/extragear/network/kmldonkey/kmldonkey/mlconfig.h #992131:992132
@@ -25,6 +25,7 @@
#define __kmldonkey_mlconfig_h__
#include <q3dict.h>
+#include <QHash>
#include <kpagedialog.h>
#include "optioneditor.h"
@@ -55,7 +56,7 @@
void applyOptions();
void closeDialog();
private:
- Q3Dict<OptionEditorWidget> pages;
+ QHash<QString, OptionEditorWidget*> pages;
NetworkPage* m_networkPage;
};
--- trunk/extragear/network/kmldonkey/kmldonkey/optioneditor.cpp #992131:992132
@@ -102,7 +102,6 @@
QTableWidgetItem *nameItem = new QTableWidgetItem(option.optionLabel());
nameItem->setFlags(nameItem->flags() & ~Qt::ItemIsEditable);
- setItem(row, 0, nameItem);
QString value = KMLDonkey::App->donkey->getOption(option.optionName());
QVariant variantValue = value;
@@ -121,11 +120,14 @@
default: break;
}
valueItem->setData(Qt::DisplayRole, variantValue);
- setItem(row, 1, valueItem);
+ valueItem->setData(OptionIndexRole, row);
nameItem->setToolTip(option.optionHelp());
valueItem->setToolTip(option.optionHelp());
+ setItem(row, 0, nameItem);
+ setItem(row, 1, valueItem);
+
resizeColumnToContents(0);
resizeRowToContents(row);
@@ -135,10 +137,12 @@
void OptionEditorWidget::optionChanged(QTableWidgetItem *item)
{
- if (m_options.size() <= item->row()) {
+ if (item->column() != 1) return; // ignore name change
+ const int index = item->data(OptionIndexRole).toInt();
+ if (m_options.size() <= index) {
return;//ignore signals emitted in addOption
}
- m_options[item->row()].setValue(item->text());
+ m_options[index].setValue(item->text());
emit listIsDirty();
}
--- trunk/extragear/network/kmldonkey/kmldonkey/optioneditor.h #992131:992132
@@ -53,7 +53,7 @@
Q_OBJECT
public:
-
+ enum { OptionIndexRole = Qt::UserRole + 1};
OptionEditorWidget(QWidget* parent = 0);
void addOption(const DonkeyOption& option);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic