#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
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 onViewSort();\r
- void onViewSwap();\r
- void onViewSystem();\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