X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a46551d63efd09b34fe33766533f6f5333737f22..ad01ddac1a104b8f372a98db84f123fbba65e2da:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index edb57ef7f..a2fe72d6e 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -24,21 +24,21 @@ #include +#include "bookmarkssidebarpage.h" #include "dolphinapplication.h" #include "dolphinnewmenu.h" #include "dolphinsettings.h" #include "dolphinsettingsdialog.h" #include "dolphinstatusbar.h" -#include "dolphinapplication.h" -#include "urlnavigator.h" -#include "dolphinsettings.h" -#include "bookmarkssidebarpage.h" #include "infosidebarpage.h" -#include "dolphin_generalsettings.h" -#include "viewpropertiesdialog.h" -#include "viewproperties.h" #include "metadataloader.h" #include "mainwindowadaptor.h" +#include "treeviewsidebarpage.h" +#include "urlnavigator.h" +#include "viewpropertiesdialog.h" +#include "viewproperties.h" + +#include "dolphin_generalsettings.h" #include #include @@ -250,11 +250,11 @@ void DolphinMainWindow::slotViewModeChanged() updateViewActions(); } -void DolphinMainWindow::slowShowPreviewChanged() +void DolphinMainWindow::slotShowPreviewChanged() { - KToggleAction* showPreviewAction = - static_cast(actionCollection()->action("show_preview")); - showPreviewAction->setChecked(m_activeView->showPreview()); + // It is not enough to update the 'Show Preview' action, also + // the 'Zoom In' and 'Zoom Out' actions must be adapted. + updateViewActions(); } void DolphinMainWindow::slotShowHiddenFilesChanged() @@ -329,6 +329,7 @@ void DolphinMainWindow::slotHistoryChanged() void DolphinMainWindow::slotUrlChanged(const KUrl& url) { updateEditActions(); + updateViewActions(); updateGoActions(); setCaption(url.fileName()); } @@ -927,7 +928,7 @@ void DolphinMainWindow::init() setupActions(); - const KUrl& homeUrl = root.first().url(); + const KUrl& homeUrl = settings.generalSettings()->homeUrl(); setCaption(homeUrl.fileName()); ViewProperties props(homeUrl); m_view[PrimaryIdx] = new DolphinView(this, @@ -1190,6 +1191,10 @@ void DolphinMainWindow::setupActions() void DolphinMainWindow::setupDockWidgets() { + // TODO: there's a lot copy/paste code here. Provide a generic approach + // after the dock concept has been finalized. + + // setup "Bookmarks" QDockWidget* shortcutsDock = new QDockWidget(i18n("Bookmarks")); shortcutsDock->setObjectName("bookmarksDock"); shortcutsDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); @@ -1200,6 +1205,7 @@ void DolphinMainWindow::setupDockWidgets() addDockWidget(Qt::LeftDockWidgetArea, shortcutsDock); + // setup "Information" QDockWidget* infoDock = new QDockWidget(i18n("Information")); infoDock->setObjectName("infoDock"); infoDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); @@ -1209,6 +1215,23 @@ void DolphinMainWindow::setupDockWidgets() actionCollection()->addAction("show_info_panel", infoDock->toggleViewAction()); addDockWidget(Qt::RightDockWidgetArea, infoDock); + + // setup "Tree View" + QDockWidget* treeViewDock = new QDockWidget(i18n("Folders")); // TODO: naming? + treeViewDock->setObjectName("treeViewDock"); + treeViewDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + treeViewDock->setWidget(new TreeViewSidebarPage(this)); + + treeViewDock->toggleViewAction()->setText(i18n("Show Folders Panel")); + actionCollection()->addAction("show_folders_panel", treeViewDock->toggleViewAction()); + + addDockWidget(Qt::LeftDockWidgetArea, treeViewDock); + + const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun(); + if (firstRun) { + infoDock->hide(); + treeViewDock->hide(); + } } void DolphinMainWindow::updateHistory() @@ -1349,7 +1372,7 @@ void DolphinMainWindow::connectViewSignals(int viewIndex) connect(view, SIGNAL(modeChanged()), this, SLOT(slotViewModeChanged())); connect(view, SIGNAL(showPreviewChanged()), - this, SLOT(slowShowPreviewChanged())); + this, SLOT(slotShowPreviewChanged())); connect(view, SIGNAL(showHiddenFilesChanged()), this, SLOT(slotShowHiddenFilesChanged())); connect(view, SIGNAL(sortingChanged(DolphinView::Sorting)),