#define DOLPHINVIEWCONTAINER_H
#include <KFileItem>
-#include <KFileItemDelegate>
-#include <KGlobalSettings>
+#include <KCompletion>
#include <KIO/Job>
#include <KUrlNavigator>
#include <QWidget>
#include <views/dolphinview.h>
+#include <config-dolphin.h>
+
+#ifdef KF5Activities_FOUND
+namespace KActivities {
+ class ResourceInstance;
+}
+#endif
class FilterBar;
class KMessageWidget;
void setActive(bool active);
bool isActive() const;
+ /**
+ * If \a grab is set to true, the container automatically grabs the focus
+ * as soon as the URL has been changed. Per default the grabbing
+ * of the focus is enabled.
+ */
+ void setAutoGrabFocus(bool grab);
+ bool autoGrabFocus() const;
+
const DolphinStatusBar* statusBar() const;
DolphinStatusBar* statusBar();
const DolphinView* view() const;
DolphinView* view();
- const DolphinSearchBox* searchBox() const;
- DolphinSearchBox* searchBox();
-
/**
* Shows the message \msg with the given type non-modal above
* the view-content.
void setSearchModeEnabled(bool enabled);
bool isSearchModeEnabled() const;
+ /**
+ * @return Text that should be used for the current URL when creating
+ * a new place.
+ */
+ QString placesText() const;
+
public slots:
/**
* Sets the current active URL, where all actions are applied. The
*/
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 slotDirectoryLoadingCompleted();
+ /**
+ * Updates the statusbar to show, that the directory loading has
+ * been canceled.
+ */
+ void slotDirectoryLoadingCanceled();
+
+ /**
+ * Is called if the URL set by DolphinView::setUrl() represents
+ * a file and not a directory. Takes care to activate the file.
+ */
+ void slotUrlIsFileError(const KUrl& url);
+
/**
* Handles clicking on an item. If the item is a directory, the
* directory is opened in the view. If the item is a file, the file
*/
void slotItemActivated(const KFileItem& item);
+ /**
+ * Handles activation of multiple files. The files get started by
+ * the corresponding applications.
+ */
+ void slotItemsActivated(const KFileItemList& items);
+
/**
* Shows the information for the item \a item inside the statusbar. If the
* item is null, the default statusbar information is shown.
/**
* Is connected with the URL navigator and drops the URLs
* above the destination \a destination.
+ *
+ * Creates a copy of \a event and invokes \a dropUrlsDelayed with a
+ * queued connection.
*/
void dropUrls(const KUrl& destination, QDropEvent* event);
+ /**
+ * Is invoked with a queued connection by \a dropUrls to prevent that the
+ * drop actions are executed in the URL navigator menu's nested event loop,
+ * which might cause a crash. Simply using a queued connection from the URL
+ * navigator to \a dropUrls would not work because the \a event pointer
+ * would be dangling then.
+ */
+ void dropUrlsDelayed();
+
/**
* Is invoked when a redirection is done and changes the
* URL of the URL navigator to \a newUrl without triggering
* Saves the currently used URL completion mode of
* the URL navigator.
*/
- void saveUrlCompletionMode(KGlobalSettings::Completion completion);
+ void saveUrlCompletionMode(KCompletion::CompletionMode completion);
void slotHistoryChanged();
+ void slotReturnPressed();
+
/**
* Gets the search URL from the searchbox and starts searching.
- * @param text Text the user has entered into the searchbox.
*/
- void startSearching(const QString& text);
+ void startSearching();
void closeSearchBox();
/**
*/
void showErrorMessage(const QString& msg);
- /**
- * Slot that calls showMessage(msg, Information).
- */
- void showInfoMessage(const QString& msg);
-
private:
/**
- * @return True if the URL protocol is a search URL (e. g. nepomuksearch:// or filenamesearch://).
+ * @return True if the URL protocol is a search URL (e. g. baloosearch:// or filenamesearch://).
*/
bool isSearchUrl(const KUrl& url) const;
DolphinStatusBar* m_statusBar;
QTimer* m_statusBarTimer; // Triggers a delayed update
QElapsedTimer m_statusBarTimestamp; // Time in ms since last update
+ bool m_autoGrabFocus;
+
+ KUrl m_dropDestination;
+ QScopedPointer<QDropEvent> m_dropEvent;
+
+#ifdef KF5Activities_FOUND
+private:
+ KActivities::ResourceInstance * m_activityResourceInstance;
+#endif
};
#endif // DOLPHINVIEWCONTAINER_H