#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
~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