summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2010-03-24 10:51:58 +0100
committerAndrea Diamantini <adjam7@gmail.com>2010-03-24 10:51:58 +0100
commit288b838f75f91205d81d5d46201eae90e8abd51a (patch)
treea2407cbb316c3f7c60292e3e790b4b8cfa750892
parentCleaning AdblockManager::loadRules slot (diff)
downloadrekonq-288b838f75f91205d81d5d46201eae90e8abd51a.tar.xz
This commit should finally fix settings handling
-rw-r--r--src/mainwindow.cpp14
-rw-r--r--src/settings/adblockwidget.cpp3
-rw-r--r--src/settings/networkwidget.cpp3
-rw-r--r--src/settings/settingsdialog.cpp6
4 files changed, 21 insertions, 5 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index d15ce0c4..68469cdd 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -543,6 +543,11 @@ void MainWindow::setupPanels()
void MainWindow::updateConfiguration()
{
+ kDebug() << "======================================================================================================================";
+ kDebug() << "======================================================================================================================";
+ kDebug() << "======================================================================================================================";
+ kDebug() << "======================================================================================================================";
+
// ============== General ==================
m_view->updateTabBar();
@@ -639,14 +644,13 @@ void MainWindow::preferences()
return;
// we didn't find an instance of this dialog, so lets create it
- QWeakPointer<SettingsDialog> s = new SettingsDialog(this);
+ QPointer<SettingsDialog> s = new SettingsDialog(this);
// keep us informed when the user changes settings
- connect(s.data(), SIGNAL(settingsChanged(const QString&)), this, SLOT(updateConfiguration()));
+ connect(s, SIGNAL(settingsChanged(const QString&)), this, SLOT(updateConfiguration()));
- s.data()->exec();
- delete s.data();
- s.clear();
+ s->exec();
+ delete s;
}
diff --git a/src/settings/adblockwidget.cpp b/src/settings/adblockwidget.cpp
index 471f57f0..39df2c36 100644
--- a/src/settings/adblockwidget.cpp
+++ b/src/settings/adblockwidget.cpp
@@ -174,6 +174,9 @@ void AdBlockWidget::save()
ReKonfig::setAdBlockEnabled( checkEnableAdblock->isChecked() );
ReKonfig::setHideAdsEnabled( checkHideAds->isChecked() );
ReKonfig::setUpdateInterval( spinBox->value() );
+
+ _changed = false;
+ emit changed(false);
}
diff --git a/src/settings/networkwidget.cpp b/src/settings/networkwidget.cpp
index 2f5948cf..54f6e068 100644
--- a/src/settings/networkwidget.cpp
+++ b/src/settings/networkwidget.cpp
@@ -82,6 +82,9 @@ void NetworkWidget::save()
_cookiesModule->save();
_proxyModule->save();
_cacheModule->save();
+
+ _changed = false;
+ emit changed(false);
}
diff --git a/src/settings/settingsdialog.cpp b/src/settings/settingsdialog.cpp
index 08d5ca6e..35f753d3 100644
--- a/src/settings/settingsdialog.cpp
+++ b/src/settings/settingsdialog.cpp
@@ -199,11 +199,17 @@ void SettingsDialog::readConfig()
// we need this function to SAVE settings in rc file..
void SettingsDialog::saveSettings()
{
+ if (!hasChanged())
+ return;
+
ReKonfig::self()->writeConfig();
d->ebrowsingModule->save();
d->shortcutsEditor->save();
d->adBlockWidg->save();
d->networkWidg->save();
+
+ updateButtons();
+ emit settingsChanged("ReKonfig");
}