diff -r 48060abbbeaf -r b3cee849fa46 filebrowser/ui/inc/fbdriveview.h --- /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 +#include + +#include + +// 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_ */