OSDN Git Service

設定のリセット処理が抜けていたのを修正
[gefu/Gefu.git] / mainwindow.h
index 484b908..0c0612c 100644 (file)
@@ -1,15 +1,17 @@
 #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 QNetworkReply;\r
-class OverWriteDialog;\r
-class QLabel;\r
+\r
 class FolderView;\r
-class SearchBox;\r
-class AnyView;\r
+class FolderModel;\r
+class Panel;\r
 \r
 namespace Ui {\r
 class MainWindow;\r
@@ -27,121 +29,115 @@ public:
     ~MainWindow();\r
 \r
 signals:\r
-    void showHiddenFiles(bool show);\r
-    void showSystemFiles(bool show);\r
-\r
-public slots:\r
-    void askOverWrite(QString *copyMethod, QString *alias,\r
-                      const QString &srcPath, const QString &tgtPath);\r
 \r
-    void currentChange(const QFileInfo &info);\r
-    void dropAccept(const QFileInfoList &list, QDropEvent *event);\r
-    void focusChange(QWidget * old, QWidget * now);\r
-    void leftKeyPress();\r
-    void rightKeyPress();\r
-    void showFileInfo(const QString &str);\r
+private slots:\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
-    void about();\r
-    void checkUpdate(bool silent = false);\r
-    void checkUpdateFinished(QNetworkReply *reply, bool silent = false);\r
-    void checkUpdateFinishedSilent(QNetworkReply *reply);\r
-    void chooseFolder();\r
-    void copyFilenameToClipboard();\r
-    void copyFullpathTpClipboard();\r
-    void copyItems();\r
-    void createFile();\r
-    void createFolder();\r
-    void cursorDown();\r
-    void cursorUp();\r
-    void cursorDownOther();\r
-    void cursorUpOther();\r
-    void deleteItems();\r
-    void editBookmark();\r
-    void executeCommand();\r
-    void expandLeft();\r
-    void expandRight();\r
-    void historyBack();\r
-    void historyForward();\r
-    void markAll();\r
-    void markAllFiles();\r
-    void markAllOff();\r
-    void markInvert();\r
-    void markToggle();\r
-    void moveItems();\r
-    void open(const QModelIndex &index = QModelIndex());\r
-    void openEditor(const QString &path = QString());\r
-    void openTerminal();\r
-    void openArchiver();\r
-    void openBookmark();\r
-    void refresh();\r
-    void renameItems();\r
-    void searchNext();\r
-    void searchPrev();\r
-    void setCursorToBegin();\r
-    void setCursorToEnd();\r
-    void setCursorToBeginOther();\r
-    void setCursorToEndOther();\r
-    void setFontSizeDown();\r
-    void setFontSizeUp();\r
-    void setPathFromOther();\r
-    void setPathToHome();\r
-    void setPathToOther();\r
-    void setPathToParent();\r
-    void setPathToRoot();\r
-    void shellExecute();\r
-    void showBookmarkDialog();\r
-    void showFilterDialog();\r
-    void showHistoryDialog();\r
-    void showPreferenceDialog();\r
-    void showSortDialog();\r
-    void splitCenter();\r
-    void swapView();\r
-    void switchHalfMode(bool checked);\r
-    void toggleSearchBox(bool checked);\r
-    void toggleShowHiddenFiles(bool checked);\r
-    void toggleShowSystemFiles(bool checked);\r
-\r
-    void showContextMenu(QContextMenuEvent *event);\r
-\r
-    void viewFinish();\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 = 0x01,\r
-        ModeSearch = 0x02,\r
-        ModeFullView = 0x04,\r
-        ModeHalfView = 0x08,\r
+        ModeBasic,      // 二画面モード\r
+        ModeFull,       // 単画面モード\r
+        ModeView,       // ビューモード\r
+        ModePreview,    // プレビューモード\r
     };\r
-    typedef QFlags<Mode> ModeFlags;\r
-\r
     Ui::MainWindow *ui;\r
-    FolderView *m_activeView;\r
-    OverWriteDialog *m_overwriteDialog;\r
-    ModeFlags m_viewMode;\r
-\r
-    // action\r
-    void initActionConnections();\r
-    static void replaceVars(QString &str, const QFileInfo info);\r
-    bool startProcess(const QString &cmd, const QString &workDir, const QString &errMsg);\r
-    void updateActions();\r
-    void setEnabledAllActions(bool enable);\r
-    void showNameFilters(FolderView *view);\r
-    void copyItems(const QFileInfoList &list, const QString &tgtDir);\r
-    void moveItems(const QFileInfoList &list, const QString &tgtDir);\r
-    void changeFontSize(int diff);\r
-    void initBookmark();\r
-    void sendEventOther(QEvent *event);\r
-\r
-    // getter\r
-    FolderView* otherSideFolderView(const FolderView *view) const;\r
-\r
-    // setter\r
-    void setViewMode(ModeFlags flags);\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
-    void keyPressEvent(QKeyEvent *event);\r
+\r
+    // QObject interface\r
+public:\r
+    bool eventFilter(QObject *watched, QEvent *e);\r
 };\r
 \r
 #endif // MAINWINDOW_H\r