X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/bd30bb6ca98374b37db20d14a41542c21acdd5e0..ab39a5952001cdb3d1b9ca693da7f8e246558fb8:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index bdeaab258..a821d5d29 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -191,20 +191,6 @@ DolphinViewContainer::~DolphinViewContainer() m_dirLister = 0; // deleted by m_dolphinModel } -void DolphinViewContainer::setUrl(const KUrl& newUrl) -{ - if (newUrl != m_urlNavigator->url()) { - m_urlNavigator->setUrl(newUrl); - // Temporary disable the 'File'->'Create New...' menu until - // the write permissions can be checked in a fast way at - // DolphinViewContainer::slotDirListerCompleted(). - m_isFolderWritable = false; - if (isActive()) { - m_mainWindow->newMenu()->menu()->setEnabled(false); - } - } -} - const KUrl& DolphinViewContainer::url() const { return m_urlNavigator->url(); @@ -236,6 +222,20 @@ bool DolphinViewContainer::isFilterBarVisible() const return m_filterBar->isVisible(); } +void DolphinViewContainer::setUrl(const KUrl& newUrl) +{ + if (newUrl != m_urlNavigator->url()) { + m_urlNavigator->setUrl(newUrl); + // Temporary disable the 'File'->'Create New...' menu until + // the write permissions can be checked in a fast way at + // DolphinViewContainer::slotDirListerCompleted(). + m_isFolderWritable = false; + if (isActive()) { + m_mainWindow->newMenu()->menu()->setEnabled(false); + } + } +} + void DolphinViewContainer::showFilterBar(bool show) { Q_ASSERT(m_filterBar != 0); @@ -284,7 +284,7 @@ void DolphinViewContainer::updateStatusBar() void DolphinViewContainer::initializeProgress() { - if (m_view->url().protocol() == "nepomuksearch") { + if (url().protocol() == "nepomuksearch") { // The Nepomuk IO-slave does not provide any progress information. Give // an immediate hint to the user that a searching is done: m_statusBar->setProgressText(i18nc("@info", "Searching...")); @@ -307,8 +307,13 @@ void DolphinViewContainer::slotDirListerCompleted() m_statusBar->setProgress(100); } - updateStatusBar(); - QMetaObject::invokeMethod(this, "restoreContentsPos", Qt::QueuedConnection); + if ((url().protocol() == "nepomuksearch") && (m_dirLister->items().count() == 0)) { + // The dir lister has been completed on a Nepomuk-URI and no items have been found. Instead + // of showing the default status bar information ("0 items") a more helpful information is given: + m_statusBar->setMessage(i18nc("@info:status", "No items found."), DolphinStatusBar::Information); + } else { + updateStatusBar(); + } // Enable the 'File'->'Create New...' menu only if the directory // supports writing. @@ -381,17 +386,11 @@ void DolphinViewContainer::openContextMenu(const KFileItem& item, void DolphinViewContainer::saveContentsPos(int x, int y) { + // TODO: If DolphinViewContainer uses DolphinView::saveState(...) to save the + // view state in KDE 4.5, this funciton can be removed. m_urlNavigator->savePosition(x, y); } -void DolphinViewContainer::restoreContentsPos() -{ - if (!url().isEmpty()) { - const QPoint pos = m_urlNavigator->savedPosition(); - m_view->setContentsPosition(pos.x(), pos.y()); - } -} - void DolphinViewContainer::activate() { setActive(true); @@ -478,6 +477,8 @@ void DolphinViewContainer::slotHistoryChanged() // the previous directory as active item: const KUrl url = m_urlNavigator->historyUrl(index - 1); m_view->activateItem(url); + QPoint pos = m_urlNavigator->savedPosition(); + m_view->setRestoredContentsPosition(pos); } }