X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/86d9c40ab71df5b8bd5063251337d5ca0c22380a..0772ebc3aaa1ea4717aedcdd7dacc95dedf8a307:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 9c55a40f4..c0212a6f1 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -25,20 +25,20 @@ #include #include "dolphinapplication.h" -#include "dolphinfileplacesview.h" #include "dolphinnewmenu.h" -#include "dolphinsettings.h" -#include "dolphinsettingsdialog.h" +#include "settings/dolphinsettings.h" +#include "settings/dolphinsettingsdialog.h" #include "dolphinstatusbar.h" #include "dolphinviewcontainer.h" -#include "infosidebarpage.h" -#include "metadatawidget.h" +#include "panels/folders/folderspanel.h" +#include "panels/places/placespanel.h" +#include "panels/information/informationpanel.h" +#include "panels/information/metadatawidget.h" #include "mainwindowadaptor.h" -#include "treeviewsidebarpage.h" #include "viewproperties.h" #ifndef Q_OS_WIN -#include "terminalsidebarpage.h" +#include "panels/terminal/terminalpanel.h" #endif #include "dolphin_generalsettings.h" @@ -703,7 +703,8 @@ void DolphinMainWindow::toggleShowMenuBar() void DolphinMainWindow::editSettings() { if (m_settingsDialog == 0) { - m_settingsDialog = new DolphinSettingsDialog(this); + const KUrl& url = activeViewContainer()->url(); + m_settingsDialog = new DolphinSettingsDialog(url, this); m_settingsDialog->setAttribute(Qt::WA_DeleteOnClose); m_settingsDialog->show(); } else { @@ -1110,38 +1111,42 @@ void DolphinMainWindow::setupDockWidgets() QDockWidget* infoDock = new QDockWidget(i18nc("@title:window", "Information")); infoDock->setObjectName("infoDock"); infoDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - SidebarPage* infoWidget = new InfoSidebarPage(infoDock); - infoDock->setWidget(infoWidget); + Panel* infoPanel = new InformationPanel(infoDock); + infoDock->setWidget(infoPanel); - infoDock->toggleViewAction()->setText(i18nc("@title:window", "Information")); - infoDock->toggleViewAction()->setShortcut(Qt::Key_F11); + QAction* infoAction = infoDock->toggleViewAction(); + infoAction->setText(i18nc("@title:window", "Information")); + infoAction->setShortcut(Qt::Key_F11); + infoAction->setIcon(KIcon("dialog-information")); actionCollection()->addAction("show_info_panel", infoDock->toggleViewAction()); addDockWidget(Qt::RightDockWidgetArea, infoDock); connect(this, SIGNAL(urlChanged(KUrl)), - infoWidget, SLOT(setUrl(KUrl))); + infoPanel, SLOT(setUrl(KUrl))); connect(this, SIGNAL(selectionChanged(KFileItemList)), - infoWidget, SLOT(setSelection(KFileItemList))); + infoPanel, SLOT(setSelection(KFileItemList))); connect(this, SIGNAL(requestItemInfo(KFileItem)), - infoWidget, SLOT(requestDelayedItemInfo(KFileItem))); - - // setup "Tree View" - QDockWidget* treeViewDock = new QDockWidget(i18nc("@title:window", "Folders")); - treeViewDock->setObjectName("treeViewDock"); - treeViewDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - TreeViewSidebarPage* treeWidget = new TreeViewSidebarPage(treeViewDock); - treeViewDock->setWidget(treeWidget); - - treeViewDock->toggleViewAction()->setText(i18nc("@title:window", "Folders")); - treeViewDock->toggleViewAction()->setShortcut(Qt::Key_F7); - actionCollection()->addAction("show_folders_panel", treeViewDock->toggleViewAction()); - - addDockWidget(Qt::LeftDockWidgetArea, treeViewDock); + infoPanel, SLOT(requestDelayedItemInfo(KFileItem))); + + // setup "Folders" + QDockWidget* foldersDock = new QDockWidget(i18nc("@title:window", "Folders")); + foldersDock->setObjectName("foldersDock"); + foldersDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + FoldersPanel* foldersPanel = new FoldersPanel(foldersDock); + foldersDock->setWidget(foldersPanel); + + QAction* foldersAction = foldersDock->toggleViewAction(); + foldersAction->setText(i18nc("@title:window", "Folders")); + foldersAction->setShortcut(Qt::Key_F7); + foldersAction->setIcon(KIcon("folder")); + actionCollection()->addAction("show_folders_panel", foldersDock->toggleViewAction()); + + addDockWidget(Qt::LeftDockWidgetArea, foldersDock); connect(this, SIGNAL(urlChanged(KUrl)), - treeWidget, SLOT(setUrl(KUrl))); - connect(treeWidget, SIGNAL(changeUrl(KUrl, Qt::MouseButtons)), + foldersPanel, SLOT(setUrl(KUrl))); + connect(foldersPanel, SIGNAL(changeUrl(KUrl, Qt::MouseButtons)), this, SLOT(handlePlacesClick(KUrl, Qt::MouseButtons))); - connect(treeWidget, SIGNAL(changeSelection(KFileItemList)), + connect(foldersPanel, SIGNAL(changeSelection(KFileItemList)), this, SLOT(changeSelection(KFileItemList))); // setup "Terminal" @@ -1149,23 +1154,25 @@ void DolphinMainWindow::setupDockWidgets() QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window Shell terminal", "Terminal")); terminalDock->setObjectName("terminalDock"); terminalDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); - SidebarPage* terminalWidget = new TerminalSidebarPage(terminalDock); - terminalDock->setWidget(terminalWidget); + Panel* terminalPanel = new TerminalPanel(terminalDock); + terminalDock->setWidget(terminalPanel); - connect(terminalWidget, SIGNAL(hideTerminalSidebarPage()), terminalDock, SLOT(hide())); + connect(terminalPanel, SIGNAL(hideTerminalPanel()), terminalDock, SLOT(hide())); - terminalDock->toggleViewAction()->setText(i18nc("@title:window Shell terminal", "Terminal")); - terminalDock->toggleViewAction()->setShortcut(Qt::Key_F4); + QAction* terminalAction = terminalDock->toggleViewAction(); + terminalAction->setText(i18nc("@title:window Shell terminal", "Terminal")); + terminalAction->setShortcut(Qt::Key_F4); + terminalAction->setIcon(KIcon("terminal")); actionCollection()->addAction("show_terminal_panel", terminalDock->toggleViewAction()); addDockWidget(Qt::BottomDockWidgetArea, terminalDock); connect(this, SIGNAL(urlChanged(KUrl)), - terminalWidget, SLOT(setUrl(KUrl))); + terminalPanel, SLOT(setUrl(KUrl))); #endif const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun(); if (firstRun) { - treeViewDock->hide(); + foldersDock->hide(); #ifndef Q_OS_WIN terminalDock->hide(); #endif @@ -1175,20 +1182,22 @@ void DolphinMainWindow::setupDockWidgets() placesDock->setObjectName("placesDock"); placesDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - DolphinFilePlacesView* placesView = new DolphinFilePlacesView(placesDock); - placesDock->setWidget(placesView); - placesView->setModel(DolphinSettings::instance().placesModel()); - placesView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + PlacesPanel* placesPanel = new PlacesPanel(placesDock); + placesDock->setWidget(placesPanel); + placesPanel->setModel(DolphinSettings::instance().placesModel()); + placesPanel->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - placesDock->toggleViewAction()->setText(i18nc("@title:window", "Places")); - placesDock->toggleViewAction()->setShortcut(Qt::Key_F9); + QAction* placesAction = placesDock->toggleViewAction(); + placesAction->setText(i18nc("@title:window", "Places")); + placesAction->setShortcut(Qt::Key_F9); + placesAction->setIcon(KIcon("bookmarks")); actionCollection()->addAction("show_places_panel", placesDock->toggleViewAction()); addDockWidget(Qt::LeftDockWidgetArea, placesDock); - connect(placesView, SIGNAL(urlChanged(KUrl, Qt::MouseButtons)), + connect(placesPanel, SIGNAL(urlChanged(KUrl, Qt::MouseButtons)), this, SLOT(handlePlacesClick(KUrl, Qt::MouseButtons))); connect(this, SIGNAL(urlChanged(KUrl)), - placesView, SLOT(setUrl(KUrl))); + placesPanel, SLOT(setUrl(KUrl))); } void DolphinMainWindow::updateEditActions()