OSDN Git Service

Ver0.26
[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 class FolderView;\r
12 class FolderModel;\r
13 class Panel;\r
14 \r
15 namespace Ui {\r
16 class MainWindow;\r
17 }\r
18 \r
19 class MainWindow : public QMainWindow\r
20 {\r
21     Q_OBJECT\r
22 \r
23 public:\r
24     explicit MainWindow(QWidget *parent = 0);\r
25     ~MainWindow();\r
26 \r
27 signals:\r
28 \r
29 private slots:\r
30     void    app_focusChange(QWidget *old, QWidget *now);\r
31     void    checkUpdateFinished(QNetworkReply *reply, bool silent = false);\r
32     void    checkUpdateFinishedSilent(QNetworkReply *reply);\r
33     void    model_PreReset();\r
34     void    model_PostReset();\r
35     void    onAbout();\r
36     void    onCheckUpdate(bool silent = false);\r
37     void    onChooseFolder();\r
38     void    onCopy();\r
39     void    onCopyFileName();\r
40     void    onCopyFilePath();\r
41     void    onCreateFile();\r
42     void    onCreateFolder();\r
43     void    onDelete();\r
44     void    onEditBookmark();\r
45     void    onExpandLeft();\r
46     void    onExpandRight();\r
47     void    onKeyDown();\r
48     void    onKeyDownOther();\r
49     void    onKeyEnd();\r
50     void    onKeyEndOther();\r
51     void    onKeyHome();\r
52     void    onKeyHomeOther();\r
53     void    onKeyLeft();\r
54     void    onKeyRight();\r
55     void    onKeyUp();\r
56     void    onKeyUpOther();\r
57     void    onMove();\r
58     void    onOpenArchiver();\r
59     void    onOpenBookmark();\r
60     void    onOpenEditor(const QModelIndex &index = QModelIndex());\r
61     void    onOpenTerminal();\r
62     void    onOpenWith();\r
63     void    onRename();\r
64     void    onRunCommand();\r
65     void    onSearchNext();\r
66     void    onSearchPrev();\r
67     void    onSplitCenter();\r
68     void    onSwap();\r
69     void    onSyncPanel();\r
70     void    onSyncPanelTo();\r
71     void    onToggleFullMode(bool checked);\r
72     void    onToggleHidden(bool checked);\r
73     void    onToggleMark();\r
74     void    onTogglePreviewMode(bool checked);\r
75     void    onToggleSearch(bool checked);\r
76     void    onToggleSystem(bool checked);\r
77     void    onToggleThumbnailMode(bool checked);\r
78     void    onToggleToolbar(bool checked);\r
79     void    showBookmarkDialog();\r
80     void    showFilterDialog();\r
81     void    showHistoryDialog();\r
82     void    showPreferenceDialog();\r
83     void    showSortDialog();\r
84 \r
85 public slots:\r
86     void    askOverWrite(QString *copyMethod, QString *alias,\r
87                           const QString &srcPath, const QString &tgtPath);\r
88     void    copyItems(const QStringList &list, const QString &tgtDir);\r
89     void    moveItems(const QStringList &list, const QString &tgtDir);\r
90     void    onAddBookmark();\r
91     void    onOpen(const QModelIndex &index = QModelIndex());\r
92     void    prefs_updated();\r
93     void    view_copyAvailable(bool yes);\r
94     void    view_currentChanged(const QModelIndex & current, const QModelIndex & previous);\r
95     void    view_finished();\r
96     void    view_statusChanged(const QString &text = QString());\r
97     void    view_showed(QWidget* w);\r
98 \r
99 private:\r
100     typedef QList<QAction*> ActionList;\r
101     enum Mode {\r
102         ModeBasic = 1,  // 二画面モード\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     ActionList m_actions;\r
112 \r
113     FolderModel*        activeModel() const;\r
114     Panel*              activePanel() const;\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     bool                onContextMenuEvent(QObject *obj, QContextMenuEvent *e);\r
121     bool                onKeyPressEvent(QObject *obj, QKeyEvent *e);\r
122     QFileInfoList       selectedItems() const;\r
123     void                sendEventOther(QEvent *event);\r
124     void                setActiveModel(FolderModel *m);\r
125     void                setEnabledAllActions(bool enable);\r
126     void                setViewMode(Mode mode);\r
127     bool                startProcess(const QString &cmd, const QString &errMsg);\r
128     void                updateActions();\r
129 \r
130     // QWidget interface\r
131 protected:\r
132     void closeEvent(QCloseEvent *event);\r
133 \r
134     // QObject interface\r
135 public:\r
136     bool eventFilter(QObject *watched, QEvent *e);\r
137 };\r
138 \r
139 #endif // MAINWINDOW_H\r