#include "config-dolphin.h"
#include "dolphintabwidget.h"
#include "selectionmode/bottombar.h"
+#include <KActionMenu>
#include <KFileItemActions>
#include <kio/fileundomanager.h>
#include <kxmlguiwindow.h>
#include "panels/information/informationpanel.h"
#endif
+#include <QFutureWatcher>
#include <QIcon>
#include <QList>
#include <QMenu>
*/
void setViewsToHomeIfMountPathOpen(const QString &mountPath);
+ /**
+ * Enables or disables the session autosaving feature.
+ *
+ * @param enable If true, saves the session automatically after a fixed
+ * time interval from the last state change.
+ */
+ void setSessionAutoSaveEnabled(bool enable);
+
bool isFoldersPanelEnabled() const;
bool isInformationPanelEnabled() const;
bool isSplitViewEnabledInCurrentTab() const;
*/
void toggleSplitView();
+ /**
+ * Pops out a split view.
+ * The active view will be popped out, unless the view is not split,
+ * in which case nothing will happen.
+ */
+ void popoutSplitView();
+
/** Dedicated action to open the stash:/ ioslave in split view. */
void toggleSplitStash();
*/
void slotKeyBindings();
+ /**
+ * Saves the session.
+ */
+ void slotSaveSession();
+
private:
/**
* Sets up the various menus and actions and connects them.
* otherwise the text is set to "Join". The icon
* is updated to match with the text and the currently active view.
*/
- void updateSplitAction();
+ void updateSplitActions();
/**
* Sets the window sides the toolbar may be moved to based on toolbar contents.
KToolBarPopupAction *m_backAction;
KToolBarPopupAction *m_forwardAction;
+ KActionMenu *m_splitViewAction;
QMenu m_searchTools;
KFileItemActions m_fileItemActions;
+ QTimer *m_sessionSaveTimer;
+ QFutureWatcher<void> *m_sessionSaveWatcher;
+ bool m_sessionSaveScheduled;
+
friend class DolphinMainWindowTest;
};