OSDN Git Service

Ver0.21
[gefu/Gefu.git] / mainwindow.h
1 #ifndef MAINWINDOW_H\r
2 #define MAINWINDOW_H\r
3 \r
4 #include "overwritedialog.h"\r
5 \r
6 #include <QFileInfo>\r
7 #include <QModelIndex>\r
8 #include <QNetworkReply>\r
9 #include <QAbstractItemView>\r
10 #include <QMainWindow>\r
11 \r
12 class FolderView;\r
13 class FolderModel;\r
14 class Panel;\r
15 \r
16 namespace Ui {\r
17 class MainWindow;\r
18 }\r
19 \r
20 ///////////////////////////////////////////////////////////////////////////////\r
21 /// \brief The MainWindow class\r
22 ///\r
23 class MainWindow : public QMainWindow\r
24 {\r
25     Q_OBJECT\r
26 \r
27 public:\r
28     explicit MainWindow(QWidget *parent = 0);\r
29     ~MainWindow();\r
30 \r
31 signals:\r
32 \r
33 private slots:\r
34     void    app_focusChange(QWidget *old, QWidget *now);\r
35     void    checkUpdateFinished(QNetworkReply *reply, bool silent = false);\r
36     void    checkUpdateFinishedSilent(QNetworkReply *reply);\r
37     void    model_PreReset();\r
38     void    model_PostReset();\r
39     void    onAbout();\r
40     void    onCheckUpdate(bool silent = false);\r
41     void    onChooseFolder();\r
42     void    onCopy();\r
43     void    onCopyFileName();\r
44     void    onCopyFilePath();\r
45     void    onCreateFile();\r
46     void    onCreateFolder();\r
47     void    onDelete();\r
48     void    onEditBookmark();\r
49     void    onExpandLeft();\r
50     void    onExpandRight();\r
51     void    onKeyDown();\r
52     void    onKeyDownOther();\r
53     void    onKeyEnd();\r
54     void    onKeyEndOther();\r
55     void    onKeyHome();\r
56     void    onKeyHomeOther();\r
57     void    onKeyLeft();\r
58     void    onKeyRight();\r
59     void    onKeyUp();\r
60     void    onKeyUpOther();\r
61     void    onMove();\r
62     void    onOpenArchiver();\r
63     void    onOpenBookmark();\r
64     void    onOpenEditor(const QModelIndex &index = QModelIndex());\r
65     void    onOpenTerminal();\r
66     void    onOpenWith();\r
67     void    onRename();\r
68     void    onRunCommand();\r
69     void    onScaleDown();\r
70     void    onScaleUp();\r
71     void    onSearchNext();\r
72     void    onSearchPrev();\r
73     void    onSplitCenter();\r
74     void    onSwap();\r
75     void    onSyncPanel();\r
76     void    onSyncPanelTo();\r
77     void    onToggleFullMode(bool checked);\r
78     void    onToggleHidden(bool checked);\r
79     void    onToggleMark();\r
80     void    onTogglePreviewMode(bool checked);\r
81     void    onToggleSearch(bool checked);\r
82     void    onToggleSystem(bool checked);\r
83     void    onToggleThumbnailMode(bool checked);\r
84     void    showBookmarkDialog();\r
85     void    showFilterDialog();\r
86     void    showHistoryDialog();\r
87     void    showPreferenceDialog();\r
88     void    showSortDialog();\r
89 \r
90 public slots:\r
91     void    askOverWrite(QString *copyMethod, QString *alias,\r
92                           const QString &srcPath, const QString &tgtPath);\r
93     void    onAddBookmark();\r
94     void    onOpen(const QModelIndex &index = QModelIndex());\r
95     void    view_copyAvailable(bool yes);\r
96     void    view_currentChanged(const QModelIndex & current, const QModelIndex & previous);\r
97     void    view_finished();\r
98     void    view_statusChanged(const QString &text);\r
99 \r
100 private:\r
101     enum Mode {\r
102         ModeBasic,      // 二画面モード\r
103         ModeFull,       // 単画面モード\r
104         ModeView,       // ビューモード\r
105         ModePreview,    // プレビューモード\r
106     };\r
107     Ui::MainWindow *ui;\r
108     OverWriteDialog m_overwriteDialog;\r
109     Mode m_viewMode;\r
110     Mode m_prevMode;\r
111 \r
112     FolderModel*        activeModel() const;\r
113     Panel*              activePanel() const;\r
114     void                copyItems(const QFileInfoList &list, const QString &tgtDir);\r
115     QAbstractItemView*  focusItemView() const;\r
116     FolderModel*        inactiveModel() const;\r
117     Panel*              inactivePanel() const;\r
118     void                initActions();\r
119     void                initBookmarkMenu();\r
120     void                moveItems(const QFileInfoList &list, const QString &tgtDir);\r
121     bool                onContextMenuEvent(QObject *obj, QContextMenuEvent *e);\r
122     bool                onDropEvent(QObject *obj, QDropEvent *e);\r
123     bool                onKeyPressEvent(QObject *obj, QKeyEvent *e);\r
124     QFileInfoList       selectedItems() const;\r
125     void                sendEventOther(QEvent *event);\r
126     void                setActiveModel(FolderModel *m);\r
127     void                setEnabledAllActions(bool enable);\r
128     void                setViewMode(Mode mode);\r
129     bool                startProcess(const QString &cmd, const QString &errMsg);\r
130     void                updateActions();\r
131 \r
132     // QWidget interface\r
133 protected:\r
134     void closeEvent(QCloseEvent *event);\r
135 \r
136     // QObject interface\r
137 public:\r
138     bool eventFilter(QObject *watched, QEvent *e);\r
139 };\r
140 \r
141 #endif // MAINWINDOW_H\r