┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphinmainwindow.cpp50
-rw-r--r--src/dolphinmainwindow.h17
-rw-r--r--src/main.cpp2
3 files changed, 36 insertions, 33 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 63feb996e..5a7f32797 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -445,34 +445,44 @@ void DolphinMainWindow::closeEvent(QCloseEvent* event)
KXmlGuiWindow::closeEvent(event);
}
-void DolphinMainWindow::saveProperties(KConfig* config)
+void DolphinMainWindow::saveProperties(KConfigGroup& group)
{
- KConfigGroup primaryView = config->group("Primary view");
- primaryView.writeEntry("Url", m_viewContainer[PrimaryView]->url().url());
- primaryView.writeEntry("Editable Url", m_viewContainer[PrimaryView]->isUrlEditable());
- if (m_viewContainer[SecondaryView] != 0) {
- KConfigGroup secondaryView = config->group("Secondary view");
- secondaryView.writeEntry("Url", m_viewContainer[SecondaryView]->url().url());
- secondaryView.writeEntry("Editable Url", m_viewContainer[SecondaryView]->isUrlEditable());
+ DolphinViewContainer* cont = m_viewContainer[PrimaryView];
+ group.writeEntry("Primary Url", cont->url().url());
+ group.writeEntry("Primary Editable Url", cont->isUrlEditable());
+
+ cont = m_viewContainer[SecondaryView];
+ if (cont != 0) {
+ group.writeEntry("Secondary Url", cont->url().url());
+ group.writeEntry("Secondary Editable Url", cont->isUrlEditable());
}
}
-void DolphinMainWindow::readProperties(KConfig* config)
+void DolphinMainWindow::readProperties(const KConfigGroup& group)
{
- const KConfigGroup primaryViewGroup = config->group("Primary view");
- m_viewContainer[PrimaryView]->setUrl(primaryViewGroup.readEntry("Url"));
- bool editable = primaryViewGroup.readEntry("Editable Url", false);
- m_viewContainer[PrimaryView]->urlNavigator()->setUrlEditable(editable);
+ DolphinViewContainer* cont = m_viewContainer[PrimaryView];
- if (config->hasGroup("Secondary view")) {
- const KConfigGroup secondaryViewGroup = config->group("Secondary view");
- if (m_viewContainer[PrimaryView] == 0) {
+ cont->setUrl(group.readEntry("Primary Url"));
+ bool editable = group.readEntry("Primary Editable Url", false);
+ cont->urlNavigator()->setUrlEditable(editable);
+
+ cont = m_viewContainer[SecondaryView];
+ const QString secondaryUrl = group.readEntry("Secondary Url");
+ if (!secondaryUrl.isEmpty()) {
+ if (cont == 0) {
+ // a secondary view should be shown, but no one is available
+ // currently -> create a new view
toggleSplitView();
+ cont = m_viewContainer[SecondaryView];
+ Q_ASSERT(cont != 0);
}
- m_viewContainer[PrimaryView]->setUrl(secondaryViewGroup.readEntry("Url"));
- editable = secondaryViewGroup.readEntry("Editable Url", false);
- m_viewContainer[PrimaryView]->urlNavigator()->setUrlEditable(editable);
- } else if (m_viewContainer[SecondaryView] != 0) {
+
+ cont->setUrl(secondaryUrl);
+ bool editable = group.readEntry("Secondary Editable Url", false);
+ cont->urlNavigator()->setUrlEditable(editable);
+ } else if (cont != 0) {
+ // no secondary view should be shown, but the default setting shows
+ // one already -> close the view
toggleSplitView();
}
}
diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
index 278ffffc7..53b209642 100644
--- a/src/dolphinmainwindow.h
+++ b/src/dolphinmainwindow.h
@@ -160,21 +160,14 @@ signals:
void requestItemInfo(const KFileItem& item);
protected:
- /** @see QMainWindow::closeEvent */
+ /** @see QMainWindow::closeEvent() */
virtual void closeEvent(QCloseEvent* event);
- /**
- * This method is called when it is time for the app to save its
- * properties for session management purposes.
- */
- void saveProperties(KConfig*);
+ /** @see KMainWindow::saveProperties() */
+ virtual void saveProperties(KConfigGroup& group);
- /**
- * This method is called when this app is restored. The KConfig
- * object points to the session management config file that was saved
- * with @ref saveProperties
- */
- void readProperties(KConfig*);
+ /** @see KMainWindow::readProperties() */
+ virtual void readProperties(const KConfigGroup& group);
private slots:
/** Updates the 'Create New...' sub menu. */
diff --git a/src/main.cpp b/src/main.cpp
index 395c5e1b8..c42cc044f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -80,7 +80,7 @@ int main(int argc, char **argv)
QApplication::setWindowIcon(KIcon("system-file-manager"));
KGlobal::locale()->insertCatalog("libkonq"); // needed for applications using libkonq
- if (false /*app.isSessionRestored()*/) {
+ if (app.isSessionRestored()) {
int n = 1;
while (KMainWindow::canBeRestored(n)) {
const QString className = KXmlGuiWindow::classNameOfToplevel(n);