Annotation of truecrypt/main/forms/mainframe.h, revision 1.1

1.1     ! root        1: /*
        !             2:  Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
        !             3: 
        !             4:  Governed by the TrueCrypt License 2.4 the full text of which is contained
        !             5:  in the file License.txt included in TrueCrypt binary and source code
        !             6:  distribution packages.
        !             7: */
        !             8: 
        !             9: #ifndef TC_HEADER_Main_Forms_MainFrame
        !            10: #define TC_HEADER_Main_Forms_MainFrame
        !            11: 
        !            12: #include "Forms.h"
        !            13: #include "ChangePasswordDialog.h"
        !            14: 
        !            15: namespace TrueCrypt
        !            16: {
        !            17:        struct FavoriteVolume;
        !            18: 
        !            19:        class MainFrame : public MainFrameBase
        !            20:        {
        !            21:        public:
        !            22:                MainFrame (wxWindow* parent);
        !            23:                virtual ~MainFrame ();
        !            24: 
        !            25:                void OnDeviceChange (const DirectoryPath &mountPoint = DirectoryPath());
        !            26: 
        !            27:        protected:
        !            28:                enum
        !            29:                {
        !            30:                        ColumnSlot = 0,
        !            31:                        ColumnPath,
        !            32:                        ColumnSize,
        !            33: #ifdef TC_WINDOWS
        !            34:                        ColumnEA,
        !            35: #else
        !            36:                        ColumnMountPoint,
        !            37: #endif
        !            38:                        ColumnType
        !            39:                };
        !            40: 
        !            41:                void AddToFavorites (const VolumeInfoList &volumes);
        !            42:                bool CanExit () const;
        !            43:                void ChangePassword (ChangePasswordDialog::Mode::Enum mode = ChangePasswordDialog::Mode::ChangePasswordAndKeyfiles);
        !            44:                void CheckFilesystem (bool repair = false);
        !            45:                bool CheckVolumePathNotEmpty () const;
        !            46:                void DismountVolume (shared_ptr <VolumeInfo> volume = shared_ptr <VolumeInfo> ());
        !            47:                const UserPreferences &GetPreferences () const { return Gui->GetPreferences(); }
        !            48:                shared_ptr <VolumeInfo> GetSelectedVolume () const;
        !            49:                shared_ptr <VolumePath> GetSelectedVolumePath () const { return make_shared <VolumePath> (wstring (VolumePathComboBox->GetValue())); }
        !            50:                void InitControls ();
        !            51:                void InitEvents ();
        !            52:                void InitMessageFilter ();
        !            53:                void InitPreferences ();
        !            54:                void InitTaskBarIcon ();
        !            55:                bool IsFreeSlotSelected () const { return SlotListCtrl->GetSelectedItemCount() == 1 && Gui->GetListCtrlSubItemText (SlotListCtrl, SelectedItemIndex, ColumnPath).empty(); }
        !            56:                bool IsMountedSlotSelected () const { return SlotListCtrl->GetSelectedItemCount() == 1 && !Gui->GetListCtrlSubItemText (SlotListCtrl, SelectedItemIndex, ColumnPath).empty(); }
        !            57:                void LoadFavoriteVolumes ();
        !            58:                void LoadPreferences ();
        !            59:                void MountAllDevices ();
        !            60:                void MountAllFavorites ();
        !            61:                void MountVolume ();
        !            62:                void OnAboutMenuItemSelected (wxCommandEvent& event);
        !            63:                void OnActivate (wxActivateEvent& event);
        !            64:                void OnAddAllMountedToFavoritesMenuItemSelected (wxCommandEvent& event);
        !            65:                void OnAddToFavoritesMenuItemSelected (wxCommandEvent& event);
        !            66:                void OnBackupVolumeHeadersMenuItemSelected (wxCommandEvent& event);
        !            67:                void OnBeginnersTutorialMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"tutorial"); }
        !            68:                void OnChangeKeyfilesMenuItemSelected (wxCommandEvent& event) { ChangePassword (ChangePasswordDialog::Mode::ChangeKeyfiles); }
        !            69:                void OnChangePasswordMenuItemSelected (wxCommandEvent& event) { ChangePassword (); }
        !            70:                void OnChangePkcs5PrfMenuItemSelected (wxCommandEvent& event) { ChangePassword (ChangePasswordDialog::Mode::ChangePkcs5Prf); }
        !            71:                void OnCheckFilesystemMenuItemSelected( wxCommandEvent& event ) { CheckFilesystem (); }
        !            72:                void OnClearSlotSelectionMenuItemSelected (wxCommandEvent& event);
        !            73:                void OnClose (wxCloseEvent& event);
        !            74:                void OnContactMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"contact"); }
        !            75:                void OnCreateVolumeButtonClick (wxCommandEvent& event);
        !            76:                void OnDefaultKeyfilesMenuItemSelected (wxCommandEvent& event);
        !            77:                void OnDismountAllButtonClick (wxCommandEvent& event);
        !            78:                void OnDismountVolumeMenuItemSelected (wxCommandEvent& event) { DismountVolume(); }
        !            79:                void OnDonationsMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"donations"); }
        !            80:                void OnDownloadsMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"downloads"); }
        !            81:                void OnEncryptionTestMenuItemSelected (wxCommandEvent& event);
        !            82:                void OnExitButtonClick (wxCommandEvent& event);
        !            83:                void OnFavoriteVolumeMenuItemSelected (wxCommandEvent& event);
        !            84:                void OnFaqMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"faq"); }
        !            85:                void OnForumsMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"forum"); }
        !            86:                void OnHiddenVolumeProtectionTriggered (shared_ptr <VolumeInfo> protectedVolume);
        !            87:                void OnHotkey (wxKeyEvent& event);
        !            88:                void OnHotkeysMenuItemSelected (wxCommandEvent& event);
        !            89:                void OnLegalNoticesMenuItemSelected (wxCommandEvent& event);
        !            90:                void OnListChanged ();
        !            91:                void OnListItemActivated (wxListEvent& event);
        !            92:                void OnListItemDeleted (long itemIndex);
        !            93:                void OnListItemDeselected (wxListEvent& event);
        !            94:                void OnListItemInserted (long itemIndex);
        !            95:                void OnListItemRightClick (wxListEvent& event);
        !            96:                void OnListItemSelected (wxListEvent& event);
        !            97:                void OnListItemSelectionChanged ();
        !            98:                void OnLogoBitmapClick (wxMouseEvent &event) { wxCommandEvent ev; OnAboutMenuItemSelected (ev); }
        !            99:                void OnMountAllDevicesButtonClick (wxCommandEvent& event);
        !           100:                void OnMountAllFavoritesMenuItemSelected (wxCommandEvent& event);
        !           101:                void OnMountVolumeMenuItemSelected (wxCommandEvent& event) { MountVolume(); }
        !           102:                void OnNewsMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"news"); }
        !           103:                void OnNoHistoryCheckBoxClick (wxCommandEvent& event);
        !           104:                void OnOnlineHelpMenuItemSelected (wxCommandEvent& event) { Gui->OpenOnlineHelp (this); }
        !           105:                void OnOpenVolumeMenuItemSelected (wxCommandEvent& event) { OpenSelectedVolume(); }
        !           106:                void OnOrganizeFavoritesMenuItemSelected (wxCommandEvent& event);
        !           107:                void OnPreferencesMenuItemSelected (wxCommandEvent& event);
        !           108:                void OnPreferencesUpdated (EventArgs &args);
        !           109:                void OnRemoveKeyfilesMenuItemSelected (wxCommandEvent& event) { ChangePassword (ChangePasswordDialog::Mode::RemoveAllKeyfiles); }
        !           110:                void OnRepairFilesystemMenuItemSelected( wxCommandEvent& event ) { CheckFilesystem (true); }
        !           111:                void OnReportBugMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"bugreport"); }
        !           112:                void OnRestoreVolumeHeaderMenuItemSelected (wxCommandEvent& event);
        !           113:                void OnSelectDeviceButtonClick (wxCommandEvent& event);
        !           114:                void OnSelectFileButtonClick (wxCommandEvent& event);
        !           115:                void OnTimer ();
        !           116:                void OnTravelerDiskWizardMenuItemSelected (wxCommandEvent& event);
        !           117:                void OnVersionHistoryMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"history"); }
        !           118:                void OnVolumePropertiesButtonClick (wxCommandEvent& event);
        !           119:                void OnVolumeToolsButtonClick (wxCommandEvent& event);
        !           120:                void OnVolumeButtonClick (wxCommandEvent& event);
        !           121:                void OnVolumeDismounted (EventArgs &args) { UpdateVolumeList(); }
        !           122:                void OnVolumeMounted (EventArgs &args) { UpdateVolumeList(); }
        !           123:                void OnUserGuideMenuItemSelected (wxCommandEvent& event) { Gui->OpenUserGuide (this); }
        !           124:                void OnWebsiteMenuItemSelected (wxCommandEvent& event) { Gui->OpenHomepageLink (this, L"website"); }
        !           125:                void OnWipeCacheButtonClick (wxCommandEvent& event);
        !           126:                void OrganizeFavorites (const FavoriteVolumeList &favorites, size_t newItemCount = 0);
        !           127:                void OpenSelectedVolume () const;
        !           128:                void SavePreferences () const;
        !           129:                long SlotNumberToItemIndex (uint32 slotNumber) const;
        !           130:                void SetVolumePath (const VolumePath &path) { VolumePathComboBox->SetValue (wstring (path)); }
        !           131:                void ShowTaskBarIcon (bool show = true);
        !           132:                void UpdateControls ();
        !           133:                void UpdateVolumeList ();
        !           134:                void UpdateWipeCacheButton ();
        !           135:                void WipeCache ();
        !           136:        
        !           137:                struct VolumeActivityMapEntry
        !           138:                {
        !           139:                        VolumeActivityMapEntry () { }
        !           140: 
        !           141:                        VolumeActivityMapEntry (const VolumeInfo &volume, wxLongLong lastActivityTime)
        !           142:                                : LastActivityTime (lastActivityTime),
        !           143:                                SerialInstanceNumber (volume.SerialInstanceNumber),
        !           144:                                TotalDataRead (volume.TotalDataRead),
        !           145:                                TotalDataWritten (volume.TotalDataWritten)
        !           146:                        { }
        !           147: 
        !           148:                        wxLongLong LastActivityTime;
        !           149:                        uint64 SerialInstanceNumber;
        !           150:                        uint64 TotalDataRead;
        !           151:                        uint64 TotalDataWritten;
        !           152:                };
        !           153: 
        !           154:                map <int, FavoriteVolume> FavoriteVolumesMenuMap;
        !           155:                VolumeInfoList MountedVolumes;
        !           156:                auto_ptr <wxTaskBarIcon> mTaskBarIcon;
        !           157:                auto_ptr <wxTimer> mTimer;
        !           158:                long SelectedItemIndex;
        !           159:                VolumeSlotNumber SelectedSlotNumber;
        !           160:                map <wstring, VolumeActivityMapEntry> VolumeActivityMap;
        !           161:        };
        !           162: }
        !           163: 
        !           164: #endif // TC_HEADER_Main_Forms_MainFrame

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.