X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e122a026843cd0d2f2978bea4b042fde039cb67a..da795d20e2f2fa57ac9cafdffcfac4d092d8eaea:/src/dolphinview.cpp diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 8920aad4e..9320cd4cf 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -99,8 +100,11 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow, this, SLOT(updateCutItems())); m_urlNavigator = new KUrlNavigator(DolphinSettings::instance().placesModel(), url, this); - m_urlNavigator->setUrlEditable(DolphinSettings::instance().generalSettings()->editableUrl()); - m_urlNavigator->setHomeUrl(DolphinSettings::instance().generalSettings()->homeUrl()); + + const GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + m_urlNavigator->setUrlEditable(settings->editableUrl()); + m_urlNavigator->setHomeUrl(settings->homeUrl()); + connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)), this, SLOT(changeDirectory(const KUrl&))); connect(m_urlNavigator, SIGNAL(urlsDropped(const KUrl::List&, const KUrl&)), @@ -167,7 +171,7 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow, m_iconSize = K3Icon::SizeMedium; m_filterBar = new FilterBar(this); - m_filterBar->hide(); + m_filterBar->setVisible(settings->filterBar()); connect(m_filterBar, SIGNAL(filterChanged(const QString&)), this, SLOT(changeNameFilter(const QString&))); connect(m_filterBar, SIGNAL(closeRequest()), @@ -196,6 +200,11 @@ const KUrl& DolphinView::url() const return m_urlNavigator->url(); } +KUrl DolphinView::rootUrl() const +{ + return isColumnViewActive() ? m_dirLister->url() : url(); +} + bool DolphinView::isActive() const { return m_mainWindow->activeView() == this; @@ -400,11 +409,6 @@ int DolphinView::contentsY() const return itemView()->verticalScrollBar()->value(); } -void DolphinView::emitRequestItemInfo(const KUrl& url) -{ - emit requestItemInfo(url); -} - bool DolphinView::isFilterBarVisible() const { return m_filterBar->isVisible(); @@ -1159,10 +1163,23 @@ void DolphinView::emitContentsMoved() void DolphinView::updateActivationState() { m_urlNavigator->setActive(isActive()); + + QColor color = KGlobalSettings::baseColor(); if (isActive()) { emit urlChanged(url()); emit selectionChanged(selectedItems()); + } else { + // darken the background if the view is inactive + // TODO: does not work for a black background + color = color.darker(105); } + + QWidget* viewport = itemView()->viewport(); + QPalette palette; + palette.setColor(viewport->backgroundRole(), color); + viewport->setPalette(palette); + + update(); } void DolphinView::updateCutItems() @@ -1200,6 +1217,7 @@ void DolphinView::showHoverInformation(const QModelIndex& index) void DolphinView::clearHoverInformation() { m_statusBar->clear(); + emit requestItemInfo(KUrl()); }