/***************************************************************************
- * Copyright (C) 2007 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2007 by Peter Penz <peter.penz19@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-
#ifndef DOLPHINVIEWCONTAINER_H
#define DOLPHINVIEWCONTAINER_H
-#include <kfileitem.h>
-#include <kfileitemdelegate.h>
-#include <kglobalsettings.h>
-#include <kio/job.h>
+#include <KFileItem>
+#include <KFileItemDelegate>
+#include <KGlobalSettings>
+#include <KIO/Job>
-#include <kurlnavigator.h>
+#include <KUrlNavigator>
-#include <QtGui/QKeyEvent>
-#include <QtCore/QLinkedList>
-#include <QtGui/QListView>
-#include <QtGui/QBoxLayout>
-#include <QtGui/QWidget>
+#include <QElapsedTimer>
+#include <QWidget>
#include <views/dolphinview.h>
class FilterBar;
class KUrl;
-class DolphinModel;
class KUrlNavigator;
-class DolphinDirLister;
class DolphinSearchBox;
-class DolphinSortFilterProxyModel;
class DolphinStatusBar;
/**
void setUrl(const KUrl& url);
/**
- * Popups the filter bar above the status bar if \a show is true.
+ * Popups the filter bar above the status bar if \a visible is true.
+ * It \a visible is true, it is assured that the filter bar gains
+ * the keyboard focus.
*/
- void showFilterBar(bool show);
+ void setFilterBarVisible(bool visible);
signals:
/**
*/
void writeStateChanged(bool isFolderWritable);
+ /**
+ * Is emitted if the search mode has been enabled or disabled.
+ * (see DolphinViewContainer::setSearchModeEnabled() and
+ * DolphinViewContainer::isSearchModeEnabled())
+ */
+ void searchModeChanged(bool enabled);
+
private slots:
/**
* Updates the number of items (= number of files + number of
*/
void updateStatusBar();
- void initializeProgress();
-
void updateProgress(int percent);
+ /**
+ * Updates the statusbar to show an undetermined progress with the correct
+ * context information whether a searching or a directory loading is done.
+ */
+ void slotStartedPathLoading();
+
/**
* Assures that the viewport position is restored and updates the
* statusbar to reflect the current content.
*/
- void slotDirListerCompleted();
+ void slotFinishedPathLoading();
/**
* Handles clicking on an item. If the item is a directory, the
void startSearching(const QString& text);
void closeSearchBox();
+ /**
+ * Stops the loading of a directory. Is connected with the "stopPressed" signal
+ * from the statusbar.
+ */
+ void stopLoading();
+
private:
+ /**
+ * @return True if the URL protocol is a search URL (e. g. nepomuksearch:// or filenamesearch://).
+ */
bool isSearchUrl(const KUrl& url) const;
private:
- bool m_isFolderWritable;
-
QVBoxLayout* m_topLayout;
KUrlNavigator* m_urlNavigator;
DolphinSearchBox* m_searchBox;
FilterBar* m_filterBar;
DolphinStatusBar* m_statusBar;
- QTimer* m_statusBarTimer;
-
- DolphinModel* m_dolphinModel;
- DolphinDirLister* m_dirLister;
- DolphinSortFilterProxyModel* m_proxyModel;
+ QTimer* m_statusBarTimer; // Triggers a delayed update
+ QElapsedTimer m_statusBarTimestamp; // Time in ms since last update
};
inline const DolphinStatusBar* DolphinViewContainer::statusBar() const