filebrowser/ui/inc/fbdriveview.h
branchRCL_3
changeset 21 b3cee849fa46
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filebrowser/ui/inc/fbdriveview.h	Tue Aug 31 15:15:20 2010 +0300
@@ -0,0 +1,244 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef FBDRIVEVIEWH_H_
+#define FBDRIVEVIEWH_H_
+
+#include "menuaction.h"
+#include "enginewrapper.h"
+
+#include <HbView>
+#include <HbApplication>
+
+#include <QModelIndexList>
+
+// Forward declarations
+class QFileInfo;
+class QSignalMapper;
+class QItemSelection;
+class QString;
+class QGraphicsLinearLayout;
+
+class HbListView;
+class HbListWidget;
+class HbToolBar;
+class HbLabel;
+class HbDialog;
+class HbAbstractViewItem;
+class HbMenu;
+class HbSearchPanel;
+
+class EditorView;
+class SearchView;
+class SettingsView;
+class EngineWrapper;
+class FbDriveModel;
+class FileBrowserSortFilterProxyModel;
+
+class FbDriveView : public HbView
+{
+    Q_OBJECT
+
+public:
+    explicit FbDriveView();
+    virtual ~FbDriveView();
+    void init(EngineWrapper *engineWrapper);
+
+public slots:
+    void refreshList();
+
+private:
+    void openListDialog(const QStringList &items, const QString &titleText, QObject *receiver, const char *member);
+
+    void openPropertyDialog(const QStringList &propertyList, const QString &title);
+
+    QModelIndex currentItemIndex();
+    void storeSelectedItemsOrCurrentItem();
+
+    // Menu related methods
+    void createMenu();
+    void createFileMenu();
+    void createEditMenu();
+    void createViewMenu();
+    void createToolsMenu();
+
+    void createSettingsMenuItem();
+    void createAboutMenuItem();
+    void createExitMenuItem();
+
+    void createContextMenu();
+    void createFileContextMenu();
+    void createEditContextMenu();
+    void createViewContextMenu();
+    void createDiskAdminContextMenu();
+
+private slots:
+    // menu action slots
+    // file menu
+    void fileOpenDrive();
+    void fileSearch();
+
+    void fileProperties();
+
+    void fileSetAttributes();
+
+    // edit menu
+    void editSnapShotToE();
+
+    // view menu
+    void viewRefresh();
+
+    // disk admin menu
+    void diskAdminSetDrivePassword();
+    void diskAdminSetDrivePasswordNew(HbAction *);
+    void doDiskAdminSetDrivePassword(HbAction *);
+
+    void diskAdminUnlockDrive();
+    void doDiskAdminUnlockDrive(HbAction *);
+
+    void diskAdminClearDrivePassword();
+    void doDiskAdminClearDrivePassword(HbAction *);
+
+    void diskAdminEraseDrivePassword();
+    void doDiskAdminEraseDrivePassword(HbAction *);
+
+    void diskAdminFormatDrive();
+    void doDiskAdminFormatDrive(HbAction *);
+
+    void diskAdminQuickFormatDrive();
+    void doDiskAdminQuickFormatDrive(HbAction *);
+
+    void diskAdminCheckDisk();
+
+    void diskAdminScanDrive();
+    void doDiskAdminScanDrive(HbAction *);
+
+    void diskAdminSetDriveName();
+    void doDiskAdminSetDriveName(HbAction *);
+
+    void diskAdminSetDriveVolumeLabel();
+    void doDiskAdminSetDriveVolumeLabel(HbAction *);
+
+    void diskAdminEjectDrive();
+    void diskAdminDismountDrive();
+    void doDiskAdminDismountDrive(HbAction *);
+
+    void diskAdminEraseMBR();
+    void doDiskAdminEraseMBR(HbAction *);
+    void doDiskAdminReallyEraseMBR(HbAction *);
+    void doDiskAdminNotRemovableReallyEraseMBR(HbAction *);
+    
+    void diskAdminPartitionDrive();
+    void diskAdminPartitionDriveProceed(HbAction *);
+    void diskAdminPartitionDriveReallyProceed(HbAction *);
+    void diskAdminPartitionDriveIsNotRemovable(HbAction *);
+    void diskAdminPartitionDriveEraseMbr(HbAction *);
+    void diskAdminPartitionDriveGetCount(HbAction*);
+
+    // tools menu
+    void toolsAllAppsToTextFile();
+    void toolsAllFilesToTextFile();
+//    void toolsAvkonIconCacheEnable();
+//    void toolsAvkonIconCacheDisable();
+
+    void toolsDisableExtendedErrors();
+    void toolsDumpMsgStoreWalk();
+    void toolsEditDataTypes();
+    void toolsEnableExtendedErrors();
+
+    void toolsErrorSimulateLeave();
+    void doToolsErrorSimulateLeave(HbAction *);
+
+    void toolsErrorSimulatePanic();
+    void doToolsErrorSimulatePanicCode(HbAction *);
+    void doToolsErrorSimulatePanic(HbAction *);
+
+    void toolsErrorSimulateException();
+    void doToolsErrorSimulateException(HbAction *);
+
+//    void toolsLocalConnectivityActivateInfrared();
+//    void toolsLocalConnectivityLaunchBTUI();
+//    void toolsLocalConnectivityLaunchUSBUI();
+    void toolsMessageInbox();
+    void toolsMessageDrafts();
+    void toolsMessageSentItems();
+    void toolsMessageOutbox();
+    void toolsMemoryInfo();
+    void toolsSecureBackStart();
+    void toolsSecureBackRestore();
+    void toolsSecureBackStop();
+    void toolsSetDebugMaskQuestion();
+    void toolsSetDebugMask(HbAction *);
+    void toolsShowOpenFilesHere();
+
+    // main menu items
+    void about();
+    
+signals:
+    void aboutToShowFileView();
+    void aboutToShowSettingsView();
+    void aboutToShowEditorView(const QString &, bool);
+    void aboutToShowSearchView(const QString &);
+    void aboutToSimulateLeave(int);
+
+private slots:
+    void updateOptionMenu();
+    void updateContextMenu();
+    void selectionChanged(const QItemSelection &, const QItemSelection &);
+    void activated(const QModelIndex& index);
+
+    void onLongPressed(HbAbstractViewItem *, QPointF);
+
+private:
+    EngineWrapper *mEngineWrapper;
+
+    HbListView *mListView;
+    HbLabel *mNaviPane;
+
+    QGraphicsLinearLayout *mMainLayout;
+
+    // file info contains all needed information of selected file from file model
+    QModelIndexList mClipboardIndexes;
+    QModelIndexList mSelectionIndexes;
+
+    FbDriveModel *mFbDriveModel;
+    OptionMenuActions mOptionMenuActions;
+    ContextMenuActions mContextMenuActions;
+    HbMenu *mContextMenu;
+
+    // flags
+    bool mLocationChanged;
+    // flag for removing source file after copied to target file
+    bool mRemoveFileAfterCopied;
+    bool mClipBoardInUse;
+    bool mFolderContentChanged;
+    QModelIndex mCurrentIndex;
+
+    // temporarily storage
+    QString mOldPassword;
+    QString mPanicCategory;
+    QString mAbsoluteFilePath;
+    OverwriteOptions mOverwriteOptions;
+    QModelIndex mModelIndex;
+    QString mNewFileName;
+    bool mProceed;
+    bool mEraseMBR;
+};
+
+
+
+#endif /* FBDRIVEVIEWH_H_ */