#ifndef DOLPHINVIEW_H
#define DOLPHINVIEW_H
-#include <config-nepomuk.h>
+#include <config-baloo.h>
#include "libdolphin_export.h"
#include <KFileItemDelegate>
#include <kio/fileundomanager.h>
#include <KIO/Job>
+#include <KUrl>
#include <QBoxLayout>
#include <QKeyEvent>
#include <QLinkedList>
-#include <QSet>
#include <QWidget>
typedef KIO::FileUndoManager::CommandType CommandType;
class DolphinItemListView;
-class KAction;
class KActionCollection;
class KFileItemModel;
class KItemListContainer;
class KItemModelBase;
+class KItemSet;
class KUrl;
class ToolTipManager;
class VersionControlObserver;
QList<QByteArray> visibleRoles() const;
void reload();
- void stopLoading();
/**
* Refreshes the view to get synchronized with the settings (e.g. icons size,
void setViewPropertiesContext(const QString& context);
QString viewPropertiesContext() const;
+ /**
+ * Checks if the given \a item can be opened as folder (e.g. archives).
+ * This function will also adjust the \a url (e.g. change the protocol).
+ * @return a valid and adjusted url if the item can be opened as folder,
+ * otherwise return an empty url.
+ */
+ static KUrl openItemAsFolderUrl(const KFileItem& item, const bool browseThroughArchives = true);
+
public slots:
/**
* Changes the directory to \a url. If the current directory is equal to
*/
void pasteIntoFolder();
+ void stopLoading();
+
/** Activates the view if the item list container gets focus. */
virtual bool eventFilter(QObject* watched, QEvent* event);
void activate();
void slotItemActivated(int index);
- void slotItemsActivated(const QSet<int>& indexes);
+ void slotItemsActivated(const KItemSet& indexes);
void slotItemMiddleClicked(int index);
void slotItemContextMenuRequested(int index, const QPointF& pos);
void slotViewContextMenuRequested(const QPointF& pos);
* the signal is emitted only after no selection change has been done
* within a small delay.
*/
- void slotSelectionChanged(const QSet<int>& current, const QSet<int>& previous);
+ void slotSelectionChanged(const KItemSet& current, const KItemSet& previous);
/**
* Is called by emitDelayedSelectionChangedSignal() and emits the
void updateSortFoldersFirst(bool foldersFirst);
/**
- * Updates the status bar to show hover information for the
- * item \a item. If currently other items are selected,
- * no hover information is shown.
- * @see DolphinView::clearHoverInformation()
- */
- void showHoverInformation(const KFileItem& item);
-
- /**
- * Clears the hover information shown in the status bar.
- * @see DolphinView::showHoverInformation().
+ * Indicates in the status bar that the delete operation
+ * of the job \a job has been finished.
*/
- void clearHoverInformation();
+ void slotDeleteFileFinished(KJob* job);
/**
- * Indicates in the status bar that the delete operation
+ * Indicates in the status bar that the trash operation
* of the job \a job has been finished.
*/
- void slotDeleteFileFinished(KJob* job);
+ void slotTrashFileFinished(KJob* job);
+
+ void slotRenamingFailed(const KUrl& oldUrl, const KUrl& newUrl);
/**
* Invoked when the file item model has started the loading
void slotVisibleRolesChangedByHeader(const QList<QByteArray>& current,
const QList<QByteArray>& previous);
+ void slotRoleEditingCanceled();
void slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value);
/**
/**
* Applies the view properties which are defined by the current URL
- * to the DolphinView properties.
+ * to the DolphinView properties. The view properties are read from a
+ * .directory file either in the current directory, or in the
+ * share/apps/dolphin/view_properties/ subfolder of the user's .kde folder.
*/
void applyViewProperties();
+ /**
+ * Applies the given view properties to the DolphinView.
+ */
+ void applyViewProperties(const ViewProperties& props);
+
/**
* Applies the m_mode property to the corresponding
* itemlayout-property of the KItemListView.
QList<KUrl> m_selectedUrls; // Used for making the view to remember selections after F5
bool m_clearSelectionBeforeSelectingNewItems;
+ bool m_markFirstNewlySelectedItemAsCurrent;
VersionControlObserver* m_versionControlObserver;