X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6422ae393ed378f8dcde0bf35e1f8d67a5df2295..61a4e8691d600a1d105142ce44570c4107600a04:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index eed6da4ea..6eb4fa94e 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -73,7 +73,7 @@ #include DolphinMainWindow::DolphinMainWindow(int id) : - KMainWindow(0), + KXmlGuiWindow(0), m_newMenu(0), m_splitter(0), m_activeView(0), @@ -305,6 +305,8 @@ void DolphinMainWindow::slotSortingChanged(DolphinView::Sorting sorting) case DolphinView::SortByGroup: action = actionCollection()->action("by_group"); break; + case DolphinView::SortByType: + action = actionCollection()->action("by_type"); default: break; } @@ -394,18 +396,7 @@ void DolphinMainWindow::closeEvent(QCloseEvent* event) settings.save(); - // TODO: I assume there will be a generic way in KDE 4 to store the docks - // of the main window. In the meantime they are stored manually: - QString filename = KStandardDirs::locateLocal("data", KGlobal::mainComponent().componentName()); - filename.append("/panels_layout"); - QFile file(filename); - if (file.open(QIODevice::WriteOnly)) { - QByteArray data = saveState(); - file.write(data); - file.close(); - } - - KMainWindow::closeEvent(event); + KXmlGuiWindow::closeEvent(event); } void DolphinMainWindow::saveProperties(KConfig* config) @@ -538,7 +529,7 @@ void DolphinMainWindow::slotUndoAvailable(bool available) break; case KonqUndoManager::MKDIR: - statusBar->setMessage(i18n("Created directory."), + statusBar->setMessage(i18n("Created folder."), DolphinStatusBar::OperationCompleted); break; @@ -714,6 +705,11 @@ void DolphinMainWindow::sortByGroup() m_activeView->setSorting(DolphinView::SortByGroup); } +void DolphinMainWindow::sortByType() +{ + m_activeView->setSorting(DolphinView::SortByType); +} + void DolphinMainWindow::toggleSortOrder() { const Qt::SortOrder order = (m_activeView->sortOrder() == Qt::AscendingOrder) ? @@ -1031,17 +1027,6 @@ void DolphinMainWindow::loadSettings() } updateViewActions(); - - // TODO: I assume there will be a generic way in KDE 4 to restore the docks - // of the main window. In the meantime they are restored manually (see also - // DolphinMainWindow::closeEvent() for more details): - QString filename = KStandardDirs::locateLocal("data", KGlobal::mainComponent().componentName()); filename.append("/panels_layout"); - QFile file(filename); - if (file.open(QIODevice::ReadOnly)) { - QByteArray data = file.readAll(); - restoreState(data); - file.close(); - } } void DolphinMainWindow::setupActions() @@ -1127,7 +1112,7 @@ void DolphinMainWindow::setupActions() KToggleAction* columnView = actionCollection()->add("columns"); columnView->setText(i18n("Columns")); columnView->setShortcut(Qt::CTRL | Qt::Key_3); - columnView->setIcon(KIcon("view-tree")); + columnView->setIcon(KIcon("fileview-column")); connect(columnView, SIGNAL(triggered()), this, SLOT(setColumnView())); QActionGroup* viewModeGroup = new QActionGroup(this); @@ -1159,6 +1144,10 @@ void DolphinMainWindow::setupActions() sortByGroup->setText(i18n("By Group")); connect(sortByGroup, SIGNAL(triggered()), this, SLOT(sortByGroup())); + KToggleAction* sortByType = actionCollection()->add("by_type"); + sortByType->setText(i18n("By Type")); + connect(sortByType, SIGNAL(triggered()), this, SLOT(sortByType())); + QActionGroup* sortGroup = new QActionGroup(this); sortGroup->addAction(sortByName); sortGroup->addAction(sortBySize); @@ -1166,6 +1155,7 @@ void DolphinMainWindow::setupActions() sortGroup->addAction(sortByPermissions); sortGroup->addAction(sortByOwner); sortGroup->addAction(sortByGroup); + sortGroup->addAction(sortByType); KToggleAction* sortDescending = actionCollection()->add("descending"); sortDescending->setText(i18n("Descending")); @@ -1256,7 +1246,7 @@ void DolphinMainWindow::setupActions() QAction* findFile = actionCollection()->addAction("find_file"); findFile->setText(i18n("Find File...")); - findFile->setShortcut(Qt::Key_F); + findFile->setShortcut(Qt::CTRL | Qt::Key_F); findFile->setIcon(KIcon("file-find")); connect(findFile, SIGNAL(triggered()), this, SLOT(findFile())); @@ -1281,13 +1271,15 @@ void DolphinMainWindow::setupDockWidgets() // after the dock concept has been finalized. // setup "Information" - QDockWidget* infoDock = new QDockWidget(i18n("Information"), this); + + // TODO: temporary deactivated info sidebar because of some minor side effects + + QDockWidget* infoDock = new QDockWidget(i18n("Information")); infoDock->setObjectName("infoDock"); infoDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); SidebarPage* infoWidget = new InfoSidebarPage(infoDock); infoDock->setWidget(infoWidget); - infoDock->toggleViewAction()->setText(i18n("Show Information Panel")); actionCollection()->addAction("show_info_panel", infoDock->toggleViewAction()); @@ -1295,7 +1287,7 @@ void DolphinMainWindow::setupDockWidgets() connectSidebarPage(infoWidget); // setup "Tree View" - QDockWidget* treeViewDock = new QDockWidget(i18n("Folders")); // TODO: naming? + QDockWidget* treeViewDock = new QDockWidget(i18n("Folders")); treeViewDock->setObjectName("treeViewDock"); treeViewDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); TreeViewSidebarPage* treeWidget = new TreeViewSidebarPage(treeViewDock); @@ -1319,6 +1311,10 @@ void DolphinMainWindow::setupDockWidgets() KFilePlacesView *listView = new KFilePlacesView(placesDock); placesDock->setWidget(listView); listView->setModel(DolphinSettings::instance().placesModel()); + + placesDock->toggleViewAction()->setText(i18n("Show Places Panel")); + actionCollection()->addAction("show_places_panel", placesDock->toggleViewAction()); + addDockWidget(Qt::LeftDockWidgetArea, placesDock); connect(listView, SIGNAL(urlChanged(KUrl)), this, SLOT(changeUrl(KUrl))); @@ -1492,6 +1488,7 @@ void DolphinMainWindow::connectViewSignals(int viewIndex) connect(navigator, SIGNAL(historyChanged()), this, SLOT(slotHistoryChanged())); } + void DolphinMainWindow::connectSidebarPage(SidebarPage* page) { connect(page, SIGNAL(changeUrl(KUrl)), @@ -1508,14 +1505,15 @@ void DolphinMainWindow::connectSidebarPage(SidebarPage* page) } DolphinMainWindow::UndoUiInterface::UndoUiInterface(DolphinMainWindow* mainWin) : - KonqUndoManager::UiInterface(mainWin), - m_mainWin(mainWin) + KonqUndoManager::UiInterface(mainWin), + m_mainWin(mainWin) { Q_ASSERT(m_mainWin != 0); } DolphinMainWindow::UndoUiInterface::~UndoUiInterface() -{} +{ +} void DolphinMainWindow::UndoUiInterface::jobError(KIO::Job* job) {