20 #ifndef FM_MAIN_WINDOW_H
21 #define FM_MAIN_WINDOW_H
23 #include "ui_main-win.h"
25 #include <QMainWindow>
27 #include <QSortFilterProxyModel>
30 #include <QMessageBox>
32 #include <QStackedWidget>
36 #include <libfm-qt/core/filepath.h>
37 #include <libfm-qt/core/bookmarks.h>
38 #include <libfm-qt/mountoperation.h>
53 void createTopBar(
bool usePathButtons);
56 QWidget* getTopBar()
const {
59 TabBar* getTabBar()
const {
62 QStackedWidget* getStackedWidget()
const {
63 return stackedWidget_;
69 QStackedWidget* stackedWidget_;
80 MainWindow(Fm::FilePath path = Fm::FilePath());
83 void chdir(Fm::FilePath path,
ViewFrame* viewFrame);
84 void chdir(Fm::FilePath path) {
85 chdir(path, activeViewFrame_);
88 void addTab(Fm::FilePath path,
ViewFrame* viewFrame);
89 void addTab(Fm::FilePath path) {
90 addTab(path, activeViewFrame_);
94 return reinterpret_cast<TabPage*
>(viewFrame->getStackedWidget()->currentWidget());
97 return currentPage(activeViewFrame_);
100 void updateFromSettings(
Settings& settings);
106 QList<Fm::MountOperation*> pendingMountOperations()
const;
110 void onPathEntryReturnPressed();
111 void onPathBarChdir(
const Fm::FilePath& dirPath);
112 void onPathBarMiddleClickChdir(
const Fm::FilePath &dirPath);
114 void on_actionNewTab_triggered();
115 void on_actionNewWin_triggered();
116 void on_actionNewFolder_triggered();
117 void on_actionNewBlankFile_triggered();
118 void on_actionCloseTab_triggered();
119 void on_actionCloseWindow_triggered();
120 void on_actionFileProperties_triggered();
121 void on_actionFolderProperties_triggered();
123 void on_actionCut_triggered();
124 void on_actionCopy_triggered();
125 void on_actionPaste_triggered();
126 void on_actionDelete_triggered();
127 void on_actionRename_triggered();
128 void on_actionBulkRename_triggered();
129 void on_actionSelectAll_triggered();
130 void on_actionInvertSelection_triggered();
131 void on_actionPreferences_triggered();
133 void on_actionGoBack_triggered();
134 void on_actionGoForward_triggered();
135 void on_actionGoUp_triggered();
136 void on_actionHome_triggered();
137 void on_actionReload_triggered();
138 void on_actionConnectToServer_triggered();
140 void on_actionIconView_triggered();
141 void on_actionCompactView_triggered();
142 void on_actionDetailedList_triggered();
143 void on_actionThumbnailView_triggered();
145 void on_actionGo_triggered();
146 void on_actionShowHidden_triggered(
bool check);
147 void on_actionShowThumbnails_triggered(
bool check);
148 void on_actionSplitView_triggered(
bool check);
149 void on_actionPreserveView_triggered(
bool checked);
151 void on_actionByFileName_triggered(
bool checked);
152 void on_actionByMTime_triggered(
bool checked);
153 void on_actionByCrTime_triggered(
bool checked);
154 void on_actionByDTime_triggered(
bool checked);
155 void on_actionByOwner_triggered(
bool checked);
156 void on_actionByGroup_triggered(
bool checked);
157 void on_actionByFileType_triggered(
bool checked);
158 void on_actionByFileSize_triggered(
bool checked);
159 void on_actionAscending_triggered(
bool checked);
160 void on_actionDescending_triggered(
bool checked);
161 void on_actionFolderFirst_triggered(
bool checked);
162 void on_actionHiddenLast_triggered(
bool checked);
163 void on_actionCaseSensitive_triggered(
bool checked);
164 void on_actionFilter_triggered(
bool checked);
165 void on_actionUnfilter_triggered();
166 void on_actionShowFilter_triggered();
168 void on_actionLocationBar_triggered(
bool checked);
169 void on_actionPathButtons_triggered(
bool checked);
171 void on_actionApplications_triggered();
172 void on_actionComputer_triggered();
173 void on_actionTrash_triggered();
174 void on_actionNetwork_triggered();
175 void on_actionDesktop_triggered();
176 void on_actionAddToBookmarks_triggered();
177 void on_actionEditBookmarks_triggered();
179 void on_actionOpenTerminal_triggered();
180 void on_actionCreateLauncher_triggered();
181 void on_actionOpenAsAdmin_triggered();
182 void on_actionOpenAsRoot_triggered();
183 void on_actionCopyFullPath_triggered();
184 void on_actionFindFiles_triggered();
186 void on_actionAbout_triggered();
187 void on_actionHiddenShortcuts_triggered();
189 void onBookmarkActionTriggered();
191 void onTabBarCloseRequested(
int index);
192 void onTabBarCurrentChanged(
int index);
193 void onTabBarTabMoved(
int from,
int to);
195 void onShortcutPrevTab();
196 void onShortcutNextTab();
197 void onShortcutJumpToTab();
199 void onStackedWidgetWidgetRemoved(
int index);
201 void onTabPageTitleChanged();
202 void onTabPageStatusChanged(
int type, QString statusText);
203 void onTabPageSortFilterChanged();
205 void onSidePaneChdirRequested(
int type,
const Fm::FilePath &path);
206 void onSidePaneOpenFolderInNewWindowRequested(
const Fm::FilePath &path);
207 void onSidePaneOpenFolderInNewTabRequested(
const Fm::FilePath &path);
208 void onSidePaneOpenFolderInTerminalRequested(
const Fm::FilePath &path);
209 void onSidePaneCreateNewFolderRequested(
const Fm::FilePath &path);
210 void onSidePaneModeChanged(Fm::SidePane::Mode mode);
211 void on_actionSidePane_triggered(
bool check);
212 void onSplitterMoved(
int pos,
int index);
215 void onBackForwardContextMenu(QPoint pos);
217 void onFolderUnmounted();
219 void tabContextMenu(
const QPoint& pos);
220 void onTabBarClicked(
int index);
221 void closeLeftTabs();
222 void closeRightTabs();
223 void closeOtherTabs() {
227 void focusPathEntry();
228 void toggleMenuBar(
bool checked);
231 void onBookmarksChanged();
233 void onSettingHiddenPlace(
const QString& str,
bool hide);
236 bool event(QEvent* event)
override;
237 void changeEvent(QEvent* event)
override;
238 void closeTab(
int index,
ViewFrame* viewFrame);
239 void closeTab(
int index) {
240 closeTab(index, activeViewFrame_);
242 virtual void resizeEvent(QResizeEvent* event)
override;
243 virtual void closeEvent(QCloseEvent* event)
override;
244 virtual void dragEnterEvent(QDragEnterEvent* event)
override;
245 virtual void dropEvent(QDropEvent* event)
override;
246 virtual bool eventFilter(QObject* watched, QEvent* event);
249 void loadBookmarksMenu();
250 void updateUIForCurrentPage(
bool setFocus =
true);
251 void updateViewMenuForCurrentPage();
252 void updateEditSelectedActions();
253 void updateStatusBarForCurrentPage();
254 void setRTLIcons(
bool isRTL);
255 void createPathBar(
bool usePathButtons);
256 void addViewFrame(
const Fm::FilePath& path);
258 int addTabWithPage(
TabPage* page,
ViewFrame* viewFrame, Fm::FilePath path = Fm::FilePath());
263 Fm::PathEdit* pathEntry_;
264 Fm::PathBar* pathBar_;
265 QLabel* fsInfoLabel_;
266 std::shared_ptr<Fm::Bookmarks> bookmarks_;
268 int rightClickIndex_;
269 bool updatingViewMenu_;
271 QAction* menuSpacer_;
278 static QPointer<MainWindow> lastActive_;
Definition: launcher.h:30
Definition: mainwindow.h:77
Definition: settings.h:134
Definition: tabpage.h:107
Definition: mainwindow.h:47