X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3d4e6938f57fcf010b4fda7255384098327eb67d..fbe257768cf88efb65064b3302aa88c074eaf719:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index d4276d492..2db562ad1 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -35,11 +35,14 @@ #include "infosidebarpage.h" #include "metadatawidget.h" #include "mainwindowadaptor.h" -#include "terminalsidebarpage.h" #include "treeviewsidebarpage.h" #include "viewpropertiesdialog.h" #include "viewproperties.h" +#ifndef Q_OS_WIN +#include "terminalsidebarpage.h" +#endif + #include "dolphin_generalsettings.h" #include "dolphin_iconsmodesettings.h" @@ -86,7 +89,7 @@ DolphinMainWindow::DolphinMainWindow(int id) : m_activeViewContainer(0), m_id(id) { - setObjectName("Dolphin"); + setObjectName("Dolphin#"); m_viewContainer[PrimaryView] = 0; m_viewContainer[SecondaryView] = 0; @@ -212,9 +215,20 @@ void DolphinMainWindow::slotRequestItemInfo(const KFileItem& item) emit requestItemInfo(item); } -void DolphinMainWindow::slotHistoryChanged() +void DolphinMainWindow::updateHistory() { - updateHistory(); + const KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator(); + const int index = urlNavigator->historyIndex(); + + QAction* backAction = actionCollection()->action("go_back"); + if (backAction != 0) { + backAction->setEnabled(index < urlNavigator->historySize() - 1); + } + + QAction* forwardAction = actionCollection()->action("go_forward"); + if (forwardAction != 0) { + forwardAction->setEnabled(index > 0); + } } void DolphinMainWindow::updateFilterBarAction(bool show) @@ -467,7 +481,6 @@ void DolphinMainWindow::toggleSplitView() setActiveViewContainer(m_viewContainer[PrimaryView]); updateViewActions(); - emit activeViewChanged(); // TODO unused; remove? } void DolphinMainWindow::reloadView() @@ -499,6 +512,11 @@ void DolphinMainWindow::editLocation() KUrlNavigator* navigator = m_activeViewContainer->urlNavigator(); navigator->setUrlEditable(true); navigator->setFocus(); + + // select the whole text of the combo box editor + QLineEdit* lineEdit = navigator->editor()->lineEdit(); + const QString text = lineEdit->text(); + lineEdit->setSelection(0, text.length()); } void DolphinMainWindow::adjustViewProperties() @@ -614,9 +632,6 @@ void DolphinMainWindow::init() const bool firstRun = generalSettings->firstRun(); if (firstRun) { generalSettings->setViewPropsTimestamp(QDateTime::currentDateTime()); - Q_ASSERT(generalSettings->homeUrl().isEmpty()); - const KUrl homeUrl(QDir::homePath()); - generalSettings->setHomeUrl(homeUrl.prettyUrl()); } setAcceptDrops(true); @@ -663,7 +678,7 @@ void DolphinMainWindow::init() if (firstRun) { // assure a proper default size if Dolphin runs the first time - resize(700, 500); + resize(750, 500); } emit urlChanged(homeUrl); @@ -681,6 +696,8 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain m_activeViewContainer = viewContainer; m_activeViewContainer->setActive(true); + m_actionHandler->setCurrentView(viewContainer->view()); + updateHistory(); updateEditActions(); updateViewActions(); @@ -689,9 +706,6 @@ void DolphinMainWindow::setActiveViewContainer(DolphinViewContainer* viewContain const KUrl& url = m_activeViewContainer->url(); setCaption(url.fileName()); - m_actionHandler->setCurrentView(viewContainer->view()); - - emit activeViewChanged(); // TODO unused; remove? emit urlChanged(url); } @@ -700,7 +714,7 @@ void DolphinMainWindow::setupActions() // setup 'File' menu m_newMenu = new DolphinNewMenu(this); KMenu* menu = m_newMenu->menu(); - menu->setTitle(i18nc("@title:menu", "Create New")); + menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New")); menu->setIcon(KIcon("document-new")); connect(menu, SIGNAL(aboutToShow()), this, SLOT(updateNewMenu())); @@ -852,7 +866,8 @@ void DolphinMainWindow::setupDockWidgets() this, SLOT(dropUrls(KUrl::List, KUrl))); // setup "Terminal" - QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window", "Terminal")); +#ifndef Q_OS_WIN + QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window Shell terminal", "Terminal")); terminalDock->setObjectName("terminalDock"); terminalDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); SidebarPage* terminalWidget = new TerminalSidebarPage(terminalDock); @@ -860,19 +875,21 @@ void DolphinMainWindow::setupDockWidgets() connect(terminalWidget, SIGNAL(hideTerminalSidebarPage()), terminalDock, SLOT(hide())); - terminalDock->toggleViewAction()->setText(i18nc("@title:window", "Terminal")); + terminalDock->toggleViewAction()->setText(i18nc("@title:window Shell terminal", "Terminal")); terminalDock->toggleViewAction()->setShortcut(Qt::Key_F4); actionCollection()->addAction("show_terminal_panel", terminalDock->toggleViewAction()); addDockWidget(Qt::BottomDockWidgetArea, terminalDock); connect(this, SIGNAL(urlChanged(KUrl)), terminalWidget, SLOT(setUrl(KUrl))); +#endif const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun(); if (firstRun) { - infoDock->hide(); treeViewDock->hide(); +#ifndef Q_OS_WIN terminalDock->hide(); +#endif } QDockWidget* placesDock = new QDockWidget(i18nc("@title:window", "Places")); @@ -895,22 +912,6 @@ void DolphinMainWindow::setupDockWidgets() placesView, SLOT(setUrl(KUrl))); } -void DolphinMainWindow::updateHistory() -{ - const KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator(); - const int index = urlNavigator->historyIndex(); - - QAction* backAction = actionCollection()->action("go_back"); - if (backAction != 0) { - backAction->setEnabled(index < urlNavigator->historySize() - 1); - } - - QAction* forwardAction = actionCollection()->action("go_forward"); - if (forwardAction != 0) { - forwardAction->setEnabled(index > 0); - } -} - void DolphinMainWindow::updateEditActions() { const KFileItemList list = m_activeViewContainer->view()->selectedItems(); @@ -989,7 +990,7 @@ void DolphinMainWindow::connectViewSignals(int viewIndex) connect(navigator, SIGNAL(urlChanged(const KUrl&)), this, SLOT(changeUrl(const KUrl&))); connect(navigator, SIGNAL(historyChanged()), - this, SLOT(slotHistoryChanged())); + this, SLOT(updateHistory())); connect(navigator, SIGNAL(editableStateChanged(bool)), this, SLOT(slotEditableStateChanged(bool))); }