#include "dolphintabwidget.h"
#include <config-baloo.h>
+#include <KFileItemActions>
#include <kio/fileundomanager.h>
-#include <KSortableList>
#include <kxmlguiwindow.h>
#ifdef HAVE_BALOO
*/
KNewFileMenu* newFileMenu() const;
+ /**
+ * Augments Qt's build-in QMainWindow context menu to add
+ * Dolphin-specific actions, such as "unlock panels".
+ */
+ QMenu *createPopupMenu() override;
+
/**
* Switch the window's view containers' locations to display the home path
* for any which are currently displaying a location corresponding to or
*/
void setViewsToHomeIfMountPathOpen(const QString& mountPath);
- /**
- * Sets any of the window's view containers which are currently displaying
- * invalid locations to the home path
- */
- void setViewsWithInvalidPathsToHome();
-
bool isFoldersPanelEnabled() const;
bool isInformationPanelEnabled() const;
*/
void openNewTab(const QUrl& url);
+ /**
+ * Opens a new tab showing the URL \a url and activate it.
+ */
+ void openNewTabAndActivate(const QUrl &url);
+
+ /**
+ * Opens a new window showing the URL \a url.
+ */
+ void openNewWindow(const QUrl &url);
+
+ /** @see GeneralSettings::splitViewChanged() */
+ void slotSplitViewChanged();
+
Q_SIGNALS:
/**
* Is sent if the selection of the currently active view has
* @pos Position in screen coordinates.
* @item File item context. If item is null, the context menu
* should be applied to \a url.
+ * @selectedItems The selected items for which the context menu
+ * is opened. This list generally includes \a item.
* @url URL which contains \a item.
- * @customActions Actions that should be added to the context menu,
- * if the file item is null.
*/
- void openContextMenu(const QPoint& pos,
- const KFileItem& item,
- const QUrl& url,
- const QList<QAction*>& customActions);
+ void openContextMenu(const QPoint& pos, const KFileItem& item, const KFileItemList &selectedItems, const QUrl& url);
/**
* Updates the menu that is by default at the right end of the toolbar.
+ *
+ * In true "simple by default" fashion, the menu only contains the most important
+ * and necessary actions to be able to use Dolphin. This is supposed to hold true even
+ * if the user does not know how to open a context menu. More advanced actions can be
+ * discovered through a sub-menu (@see KConfigWidgets::KHamburgerMenu::setMenuBarAdvertised()).
*/
void updateHamburgerMenu();
* to go to.
*/
void slotGoForward(QAction* action);
+
+ /**
+ * Is called when configuring the keyboard shortcuts
+ */
+ void slotKeyBindings();
+
private:
/**
* Sets up the various menus and actions and connects them.
*/
bool addHamburgerMenuToToolbar();
+ /** Creates an action representing an item in the URL navigator history */
+ static QAction *urlNavigatorHistoryAction(const KUrlNavigator *urlNavigator, int historyIndex, QObject *parent = nullptr);
+
private:
/**
* Implements a custom error handling for the undo manager. This
KToolBarPopupAction* m_backAction;
KToolBarPopupAction* m_forwardAction;
- /** Makes sure that only one object is ever connected to the history. */
- QMetaObject::Connection m_updateHistoryConnection;
-
QMenu m_searchTools;
+ KFileItemActions m_fileItemActions;
+
};
inline DolphinViewContainer* DolphinMainWindow::activeViewContainer() const