OSDN Git Service

設定のリセット処理が抜けていたのを修正
[gefu/Gefu.git] / mainwindow.h
index f30c370..0c0612c 100644 (file)
@@ -1,14 +1,25 @@
 #ifndef MAINWINDOW_H\r
 #define MAINWINDOW_H\r
 \r
+#include "overwritedialog.h"\r
+\r
 #include <QFileInfo>\r
+#include <QModelIndex>\r
+#include <QNetworkReply>\r
+#include <QAbstractItemView>\r
 #include <QMainWindow>\r
-class FolderPanel;\r
+\r
+class FolderView;\r
+class FolderModel;\r
+class Panel;\r
 \r
 namespace Ui {\r
 class MainWindow;\r
 }\r
 \r
+///////////////////////////////////////////////////////////////////////////////\r
+/// \brief The MainWindow class\r
+///\r
 class MainWindow : public QMainWindow\r
 {\r
     Q_OBJECT\r
@@ -17,58 +28,116 @@ public:
     explicit MainWindow(QWidget *parent = 0);\r
     ~MainWindow();\r
 \r
-    void setStatusText(const QString &str);\r
-\r
-public slots:\r
-    void onActionCommand();\r
-    void onActionExec();\r
-    void onActionOpen();\r
-    void onActionQuit();\r
-    void onActionSetting();\r
-\r
-    void onMarkAll();\r
-    void onMarkAllFiles();\r
-    void onMarkAllOff();\r
-    void onMarkInvert();\r
-    void onMarkToggle();\r
-\r
-    void onMoveCursorDown();\r
-    void onMoveCursorUp();\r
-    void onMoveCursorBegin();\r
-    void onMoveCursorEnd();\r
-    void onMoveBack();\r
-    void onMoveForward();\r
-    void onMoveHome();\r
-    void onMoveJump();\r
-    void onMoveOther();\r
-    void onMoveParent();\r
-    void onMoveRoot();\r
-\r
-    void onViewFromOther();\r
-    void onViewToOther();\r
-    void onViewHidden();\r
-    void onViewSwap();\r
-\r
-    void onCmdMove();\r
-    void onCmdCopy();\r
-    void onCmdDelete();\r
-    void onCmdNewFile();\r
-    void onCmdNewFolder();\r
-    void onCmdRename();\r
-\r
-    void onHelpAbout();\r
+signals:\r
 \r
 private slots:\r
-    void onAskOverWrite(bool *bOk, int *prevCopyMethod, int *copyMethod,\r
-                        QString *alias, const QString srcPath, const QString tgtPath);\r
+    void    app_focusChange(QWidget *old, QWidget *now);\r
+    void    checkUpdateFinished(QNetworkReply *reply, bool silent = false);\r
+    void    checkUpdateFinishedSilent(QNetworkReply *reply);\r
+    void    model_PreReset();\r
+    void    model_PostReset();\r
+    void    onAbout();\r
+    void    onCheckUpdate(bool silent = false);\r
+    void    onChooseFolder();\r
+    void    onCopy();\r
+    void    onCopyFileName();\r
+    void    onCopyFilePath();\r
+    void    onCreateFile();\r
+    void    onCreateFolder();\r
+    void    onDelete();\r
+    void    onEditBookmark();\r
+    void    onExpandLeft();\r
+    void    onExpandRight();\r
+    void    onKeyDown();\r
+    void    onKeyDownOther();\r
+    void    onKeyEnd();\r
+    void    onKeyEndOther();\r
+    void    onKeyHome();\r
+    void    onKeyHomeOther();\r
+    void    onKeyLeft();\r
+    void    onKeyRight();\r
+    void    onKeyUp();\r
+    void    onKeyUpOther();\r
+    void    onMove();\r
+    void    onOpenArchiver();\r
+    void    onOpenBookmark();\r
+    void    onOpenEditor(const QModelIndex &index = QModelIndex());\r
+    void    onOpenTerminal();\r
+    void    onOpenWith();\r
+    void    onRename();\r
+    void    onRunCommand();\r
+    void    onScaleDown();\r
+    void    onScaleUp();\r
+    void    onSearchNext();\r
+    void    onSearchPrev();\r
+    void    onSplitCenter();\r
+    void    onSwap();\r
+    void    onSyncPanel();\r
+    void    onSyncPanelTo();\r
+    void    onToggleFullMode(bool checked);\r
+    void    onToggleHidden(bool checked);\r
+    void    onToggleMark();\r
+    void    onTogglePreviewMode(bool checked);\r
+    void    onToggleSearch(bool checked);\r
+    void    onToggleSystem(bool checked);\r
+    void    onToggleThumbnailMode(bool checked);\r
+    void    showBookmarkDialog();\r
+    void    showFilterDialog();\r
+    void    showHistoryDialog();\r
+    void    showPreferenceDialog();\r
+    void    showSortDialog();\r
+\r
+public slots:\r
+    void    askOverWrite(QString *copyMethod, QString *alias,\r
+                          const QString &srcPath, const QString &tgtPath);\r
+    void    onAddBookmark();\r
+    void    onOpen(const QModelIndex &index = QModelIndex());\r
+    void    view_copyAvailable(bool yes);\r
+    void    view_currentChanged(const QModelIndex & current, const QModelIndex & previous);\r
+    void    view_finished();\r
+    void    view_statusChanged(const QString &text);\r
 \r
 private:\r
+    typedef QList<QAction*> ActionList;\r
+    enum Mode {\r
+        ModeBasic,      // 二画面モード\r
+        ModeFull,       // 単画面モード\r
+        ModeView,       // ビューモード\r
+        ModePreview,    // プレビューモード\r
+    };\r
     Ui::MainWindow *ui;\r
-\r
-    FolderPanel* activePanel();\r
-    FolderPanel* inactivePanel();\r
-    QStringList selectedItems(FolderPanel *fp);\r
+    OverWriteDialog m_overwriteDialog;\r
+    Mode m_viewMode;\r
+    Mode m_prevMode;\r
+    ActionList m_actions;\r
+\r
+    FolderModel*        activeModel() const;\r
+    Panel*              activePanel() const;\r
+    void                copyItems(const QFileInfoList &list, const QString &tgtDir);\r
+    QAbstractItemView*  focusItemView() const;\r
+    FolderModel*        inactiveModel() const;\r
+    Panel*              inactivePanel() const;\r
+    void                initActions();\r
+    void                initBookmarkMenu();\r
+    void                moveItems(const QFileInfoList &list, const QString &tgtDir);\r
+    bool                onContextMenuEvent(QObject *obj, QContextMenuEvent *e);\r
+    bool                onDropEvent(QObject *obj, QDropEvent *e);\r
+    bool                onKeyPressEvent(QObject *obj, QKeyEvent *e);\r
+    QFileInfoList       selectedItems() const;\r
+    void                sendEventOther(QEvent *event);\r
+    void                setActiveModel(FolderModel *m);\r
+    void                setEnabledAllActions(bool enable);\r
+    void                setViewMode(Mode mode);\r
+    bool                startProcess(const QString &cmd, const QString &errMsg);\r
+    void                updateActions();\r
+\r
+    // QWidget interface\r
+protected:\r
+    void closeEvent(QCloseEvent *event);\r
+\r
+    // QObject interface\r
+public:\r
+    bool eventFilter(QObject *watched, QEvent *e);\r
 };\r
 \r
-\r
 #endif // MAINWINDOW_H\r