OSDN Git Service

Ver0.15
[gefu/Gefu.git] / mainwindow.h
1 #ifndef MAINWINDOW_H\r
2 #define MAINWINDOW_H\r
3 \r
4 #include <QFileInfo>\r
5 #include <QModelIndex>\r
6 #include <QMainWindow>\r
7 class QNetworkReply;\r
8 class OverWriteDialog;\r
9 class QLabel;\r
10 class FolderView;\r
11 class SearchBox;\r
12 class AnyView;\r
13 \r
14 namespace Ui {\r
15 class MainWindow;\r
16 }\r
17 \r
18 ///////////////////////////////////////////////////////////////////////////////\r
19 /// \brief The MainWindow class\r
20 ///\r
21 class MainWindow : public QMainWindow\r
22 {\r
23     Q_OBJECT\r
24 \r
25 public:\r
26     explicit MainWindow(QWidget *parent = 0);\r
27     ~MainWindow();\r
28 \r
29 signals:\r
30     void showHiddenFiles(bool show);\r
31     void showSystemFiles(bool show);\r
32 \r
33 public slots:\r
34     void askOverWrite(QString *copyMethod, QString *alias,\r
35                       const QString &srcPath, const QString &tgtPath);\r
36 \r
37     void currentChange(const QFileInfo &info);\r
38     void dropAccept(const QFileInfoList &list);\r
39     void focusChange(QWidget * old, QWidget * now);\r
40     void leftKeyPress();\r
41     void rightKeyPress();\r
42     void returnPressInSearchBox();\r
43     void showFileInfo(const QString &str);\r
44 \r
45     void about();\r
46     void checkUpdate(bool silent = false);\r
47     void checkUpdateFinished(QNetworkReply *reply, bool silent = false);\r
48     void checkUpdateFinishedSilent(QNetworkReply *reply);\r
49     void chooseFolder();\r
50     void copyFilenameToClipboard();\r
51     void copyFullpathTpClipboard();\r
52     void copyItems();\r
53     void createFile();\r
54     void createFolder();\r
55     void cursorDown();\r
56     void cursorUp();\r
57     void deleteItems();\r
58     void executeCommand();\r
59     void historyBack();\r
60     void historyForward();\r
61     void itemFound();\r
62     void itemNotFound();\r
63     void markAll();\r
64     void markAllFiles();\r
65     void markAllOff();\r
66     void markInvert();\r
67     void markToggle();\r
68     void moveItems();\r
69     void open(const QModelIndex &index = QModelIndex());\r
70     void openEditor(const QString &path = QString());\r
71     void openTerminal();\r
72     void refresh();\r
73     void renameItems();\r
74     void retrieveFinish();\r
75     void retrieveStart(const QString &path);\r
76     void searchItem(const QString& text);\r
77     void searchNext();\r
78     void searchPrev();\r
79     void setCursorToBegin();\r
80     void setCursorToEnd();\r
81     void setFontSizeDown();\r
82     void setFontSizeUp();\r
83     void setPathFromOther();\r
84     void setPathToHome();\r
85     void setPathToOther();\r
86     void setPathToParent();\r
87     void setPathToRoot();\r
88     void shellExecute();\r
89     void showFilterDialog();\r
90     void showHistoryDialog();\r
91     void showPreferenceDialog();\r
92     void showSortDialog();\r
93     void swapView();\r
94     void switchHalfMode(bool checked);\r
95     void toggleSearchBox(bool checked);\r
96     void toggleShowHiddenFiles(bool checked);\r
97     void toggleShowSystemFiles(bool checked);\r
98 \r
99     void showContextMenu(QContextMenuEvent *event);\r
100 \r
101     void viewFinish();\r
102 \r
103 private:\r
104     enum Mode {\r
105         ModeBasic = 0x00,\r
106         ModeSearch = 0x01,\r
107         ModeFullView = 0x02,\r
108         ModeHalfView = 0x04,\r
109     };\r
110     typedef QFlags<Mode> ModeFlags;\r
111 \r
112     Ui::MainWindow *ui;\r
113     QWidget *m_focusedView;\r
114     OverWriteDialog *m_overwriteDialog;\r
115     ModeFlags m_viewMode;\r
116 \r
117     // action\r
118     void initActionConnections();\r
119     static void replaceVars(QString &str, const QFileInfo info);\r
120     bool startProcess(const QString &cmd, const QString &workDir, const QString &errMsg);\r
121     void updateActions();\r
122     void setEnabledAllActions(bool enable);\r
123     void showNameFilters(FolderView *view);\r
124     void copyItems(const QFileInfoList &list, const QString &tgtDir);\r
125     void changeFontSize(int diff);\r
126 \r
127     // getter\r
128     FolderView* otherSideFolderView(const FolderView *view) const;\r
129 \r
130     // setter\r
131     void setViewMode(ModeFlags flags);\r
132 \r
133     // QWidget interface\r
134 protected:\r
135     void closeEvent(QCloseEvent *event);\r
136     void keyPressEvent(QKeyEvent *event);\r
137 };\r
138 \r
139 #endif // MAINWINDOW_H\r