]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/views/dolphinview.h
Use one config-dolphin.h.cmake configuration file
[dolphin.git] / src / views / dolphinview.h
index ab3e86f15cd4aedc30e7e9bbdf4c77ca3f265beb..0a5011d2fce0bb64af7f4c18155f11dc6be354e3 100644 (file)
@@ -14,7 +14,7 @@
 
 #include <KFileItem>
 #include <KIO/Job>
-#include <config-baloo.h>
+#include <config-dolphin.h>
 #include <kio/fileundomanager.h>
 #include <kparts/part.h>
 
@@ -206,6 +206,10 @@ public:
     void setSortFoldersFirst(bool foldersFirst);
     bool sortFoldersFirst() const;
 
+    /** Sets a separate sorting with hidden files and folders last (true) or not (false). */
+    void setSortHiddenLast(bool hiddenLast);
+    bool sortHiddenLast() const;
+
     /** Sets the additional information which should be shown for the items. */
     void setVisibleRoles(const QList<QByteArray>& roles);
 
@@ -315,7 +319,7 @@ public:
      */
     void hideToolTip(const ToolTipManager::HideBehavior behavior = ToolTipManager::HideBehavior::Later);
 
-public slots:
+public Q_SLOTS:
     /**
      * Changes the directory to \a url. If the current directory is equal to
      * \a url, nothing will be done (use DolphinView::reload() instead).
@@ -409,7 +413,7 @@ public slots:
     /** Activates the view if the item list container gets focus. */
     bool eventFilter(QObject* watched, QEvent* event) override;
 
-signals:
+Q_SIGNALS:
     /**
      * Is emitted if the view has been activated by e. g. a mouse click.
      */
@@ -421,13 +425,13 @@ signals:
     /**
      * Is emitted when clicking on an item with the left mouse button.
      */
-    void itemActivated(const KFileItemitem);
+    void itemActivated(const KFileItem &item);
 
     /**
      * Is emitted when multiple items have been activated by e. g.
      * context menu open with.
      */
-    void itemsActivated(const KFileItemListitems);
+    void itemsActivated(const KFileItemList &items);
 
     /**
      * Is emitted if items have been added or deleted.
@@ -439,6 +443,16 @@ signals:
      */
     void tabRequested(const QUrl& url);
 
+    /**
+     * Is emitted if a new tab should be opened for the URL \a url and set as active.
+     */
+    void activeTabRequested(const QUrl &url);
+
+    /**
+     * Is emitted if a new window should be opened for the URL \a url.
+     */
+    void windowRequested(const QUrl &url);
+
     /**
      * Is emitted if the view mode (IconsView, DetailsView,
      * PreviewsView) has been changed.
@@ -454,7 +468,7 @@ signals:
     /** Is emitted if the 'grouped sorting' property has been changed. */
     void groupedSortingChanged(bool groupedSorting);
 
-    /** Is emmited in reaction to a requestStatusBarText() call.
+    /** Is emitted in reaction to a requestStatusBarText() call.
      * @see requestStatusBarText() */
     void statusBarTextChanged(QString statusBarText);
 
@@ -470,6 +484,11 @@ signals:
      */
     void sortFoldersFirstChanged(bool foldersFirst);
 
+    /**
+     * Is emitted if the sorting of hidden files has been changed.
+     */
+    void sortHiddenLastChanged(bool hiddenLast);
+
     /** Is emitted if the additional information shown for this view has been changed. */
     void visibleRolesChanged(const QList<QByteArray>& current,
                              const QList<QByteArray>& previous);
@@ -491,13 +510,12 @@ signals:
     /**
      * Is emitted if a context menu is requested for the item \a item,
      * which is part of \a url. If the item is null, the context menu
-     * for the URL should be shown and the custom actions \a customActions
-     * will be added.
+     * for the URL should be shown.
      */
     void requestContextMenu(const QPoint& pos,
                             const KFileItem& item,
-                            const QUrl& url,
-                            const QList<QAction*>& customActions);
+                            const KFileItemList &selectedItems,
+                            const QUrl& url);
 
     /**
      * Is emitted if an information message with the content \a msg
@@ -593,6 +611,8 @@ signals:
 
     void goUpRequested();
 
+    void fileItemsChanged(const KFileItemList &changedFileItems);
+
 protected:
     /** Changes the zoom level if Control is pressed during a wheel event. */
     void wheelEvent(QWheelEvent* event) override;
@@ -600,7 +620,7 @@ protected:
     void hideEvent(QHideEvent* event) override;
     bool event(QEvent* event) override;
 
-private slots:
+private Q_SLOTS:
     /**
      * Marks the view as active (DolphinView:isActive() will return true)
      * and emits the 'activated' signal if it is not already active.
@@ -608,12 +628,13 @@ private slots:
     void activate();
 
     void slotItemActivated(int index);
-    void slotItemsActivated(const KItemSetindexes);
+    void slotItemsActivated(const KItemSet &indexes);
     void slotItemMiddleClicked(int index);
     void slotItemContextMenuRequested(int index, const QPointF& pos);
     void slotViewContextMenuRequested(const QPointF& pos);
     void slotHeaderContextMenuRequested(const QPointF& pos);
     void slotHeaderColumnWidthChangeFinished(const QByteArray& role, qreal current);
+    void slotSidePaddingWidthChanged(qreal width);
     void slotItemHovered(int index);
     void slotItemUnhovered(int index);
     void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);
@@ -677,6 +698,12 @@ private slots:
      */
     void updateSortFoldersFirst(bool foldersFirst);
 
+    /**
+     * Updates the view properties of the current URL to the
+     * sorting of hidden files given by \a hiddenLast.
+     */
+    void updateSortHiddenLast(bool hiddenLast);
+
     /**
      * Indicates in the status bar that the delete operation
      * of the job \a job has been finished.
@@ -835,8 +862,11 @@ private:
 
     void updatePlaceholderLabel();
 
+    void tryShowNameToolTip(QEvent* event);
+
 private:
     void updatePalette();
+    void showLoadingPlaceholder();
 
     bool m_active;
     bool m_tabsForFiles;
@@ -876,6 +906,7 @@ private:
     QTimer* m_twoClicksRenamingTimer;
     QUrl m_twoClicksRenamingItemUrl;
     QLabel* m_placeholderLabel;
+    QTimer* m_showLoadingPlaceholderTimer;
 
     // For unit tests
     friend class TestBase;