KUrl::List selectedUrls() const;
/**
- * Returns the file item for the given model index \a index.
+ * Returns the number of selected items (this is faster than
+ * invoking selectedItems().count()).
*/
- KFileItem fileItem(const QModelIndex& index) const;
+ int selectedItemsCount() const;
/**
* Sets the upper left position of the view content
/** Returns the upper left position of the view content. */
QPoint contentsPosition() const;
- /** Increases the size of the current set view mode. */
- void zoomIn();
-
- /** Decreases the size of the current set view mode. */
- void zoomOut();
-
+ /**
+ * Sets the zoom level to \a level. It is assured that the used
+ * level is adjusted to be inside the range DolphinView::zoomLevelMinimum() and
+ * DolphinView::zoomLevelMaximum().
+ */
+ void setZoomLevel(int level);
+ int zoomLevel() const;
+
+ int zoomLevelMinimum() const;
+ int zoomLevelMaximum() const;
+
/**
* Returns true, if zooming in is possible. If false is returned,
* the minimal zoom size is possible.
*/
QPair<bool, QString> pasteInfo() const;
+ /**
+ * If \a tabsForFiles is true, the signal tabRequested() will also
+ * emitted also for files. Per default tabs for files is disabled
+ * and hence the signal tabRequested() will only be emitted for
+ * directories.
+ */
+ void setTabsForFilesEnabled(bool tabsForFiles);
+ bool isTabsForFilesEnabled() const;
+
public slots:
/**
* Changes the directory to \a url. If the current directory is equal to
/** Is emitted if URL of the view has been changed to \a url. */
void urlChanged(const KUrl& url);
+ /**
+ * Is emitted if the view requests a changing of the current
+ * URL to \a url (see DolphinController::triggerUrlChangeRequest()).
+ */
+ void requestUrlChange(const KUrl& url);
+
/**
* Is emitted when clicking on an item with the left mouse button.
*/
/** Is emitted if the additional information shown for this view has been changed. */
void additionalInfoChanged();
+
+ /** Is emitted if the zoom level has been changed by zooming in or out. */
+ void zoomLevelChanged(int level);
/**
* Is emitted if information of an item is requested to be shown e. g. in the sidebar.
const KUrl& destPath,
const KFileItem& destItem);
- /**
- * Handles the dropping of URLs to the given destination.
- * @see DolphinDropController
- */
- void dropUrls(const KUrl::List& urls,
- const KUrl& destination);
/**
* Updates the view properties of the current URL to the
* sorting given by \a sorting.
*/
void slotDeleteFileFinished(KJob* job);
+ /**
+ * Called when KDirLister emits redirection.
+ * Testcase: fish://localhost
+ */
+ void slotRedirection(const KUrl& oldUrl, const KUrl& newUrl);
+
+ /**
+ * Is emitted if the controller requests a changing of the current
+ * URL to \a url
+ */
+ void slotRequestUrlChange(const KUrl& url);
+
+ /**
+ * Restores the current item (= item that has the keyboard focus)
+ * to m_currentItemUrl.
+ */
+ void restoreCurrentItem();
+
private:
void loadDirectory(const KUrl& url, bool reload = false);
* Pastes the clipboard data into the URL \a url.
*/
void pasteToUrl(const KUrl& url);
+
+ /**
+ * Checks whether the current item view has the same zoom level
+ * as \a oldZoomLevel. If this is not the case, the zoom level
+ * of the controller is updated and a zoomLevelChanged() signal
+ * is emitted.
+ */
+ void updateZoomLevel(int oldZoomLevel);
/**
* Returns true, if the ColumnView is activated. As the column view
}
private:
- bool m_active;
- bool m_showPreview;
- bool m_loadingDirectory;
- bool m_storedCategorizedSorting;
- bool m_isContextMenuOpen; // TODO: workaround for Qt-issue xxxxxx
+ bool m_active : 1;
+ bool m_showPreview : 1;
+ bool m_loadingDirectory : 1;
+ bool m_storedCategorizedSorting : 1;
+ bool m_tabsForFiles : 1;
+ bool m_isContextMenuOpen : 1; // TODO: workaround for Qt-issue 207192
+
Mode m_mode;
DolphinMainWindow* m_mainWindow;
ToolTipManager* m_toolTipManager;
KUrl m_rootUrl;
+ KUrl m_currentItemUrl;
};
/// Allow using DolphinView::Mode in QVariant