X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/57e2cd9ae9ad4621b0ea82c5dd28c9e122aaa8df..bd925ea49a7e4e7c6e652f4529dcd0c4e25fd19a:/src/dolphinmainwindow.cpp diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index e393b22d0..69da1b94f 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" @@ -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() @@ -606,26 +624,23 @@ void DolphinMainWindow::editSettings() void DolphinMainWindow::init() { + DolphinSettings& settings = DolphinSettings::instance(); + // Check whether Dolphin runs the first time. If yes then // a proper default window size is given at the end of DolphinMainWindow::init(). - GeneralSettings* generalSettings = DolphinSettings::instance().generalSettings(); + GeneralSettings* generalSettings = settings.generalSettings(); 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); m_splitter = new QSplitter(this); - DolphinSettings& settings = DolphinSettings::instance(); - setupActions(); - const KUrl& homeUrl = settings.generalSettings()->homeUrl(); + const KUrl& homeUrl = generalSettings->homeUrl(); setCaption(homeUrl.fileName()); m_actionHandler = new DolphinViewActionHandler(actionCollection(), this); connect(m_actionHandler, SIGNAL(actionBeingHandled()), SLOT(clearStatusBar())); @@ -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); } @@ -852,6 +866,7 @@ void DolphinMainWindow::setupDockWidgets() this, SLOT(dropUrls(KUrl::List, KUrl))); // setup "Terminal" +#ifndef Q_OS_WIN QDockWidget* terminalDock = new QDockWidget(i18nc("@title:window", "Terminal")); terminalDock->setObjectName("terminalDock"); terminalDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); @@ -867,12 +882,15 @@ void DolphinMainWindow::setupDockWidgets() 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 +913,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 +991,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))); }