| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- //---------------------------------------------------------------------------
- #ifndef WinConfigurationH
- #define WinConfigurationH
- //---------------------------------------------------------------------------
- #include "CustomWinConfiguration.h"
- #include "CustomDirView.hpp"
- //---------------------------------------------------------------------------
- enum TEditor { edInternal, edExternal };
- extern const char ShellCommandFileNamePattern[];
- //---------------------------------------------------------------------------
- #define C(Property) (Property != rhc.Property) ||
- struct TScpExplorerConfiguration {
- AnsiString WindowParams;
- AnsiString DirViewParams;
- AnsiString CoolBarLayout;
- bool StatusBar;
- AnsiString LastLocalTargetDirectory;
- int ViewStyle;
- bool ShowFullAddress;
- bool __fastcall operator !=(TScpExplorerConfiguration & rhc)
- { return C(WindowParams) C(DirViewParams) C(CoolBarLayout) C(StatusBar)
- C(LastLocalTargetDirectory) C(ViewStyle) C(ShowFullAddress) 0; };
- };
- //---------------------------------------------------------------------------
- struct TScpCommanderPanelConfiguration {
- AnsiString DirViewParams;
- AnsiString CoolBarLayout;
- bool StatusBar;
- bool __fastcall operator !=(TScpCommanderPanelConfiguration & rhc)
- { return C(DirViewParams) C(CoolBarLayout) C(StatusBar) 0; };
- };
- //---------------------------------------------------------------------------
- struct TScpCommanderConfiguration {
- AnsiString WindowParams;
- float LocalPanelWidth;
- AnsiString CoolBarLayout;
- bool StatusBar;
- bool CommandLine;
- bool ToolBar;
- TOperationSide CurrentPanel;
- bool ExplorerStyleSelection;
- bool PreserveLocalDirectory;
- TScpCommanderPanelConfiguration LocalPanel;
- TScpCommanderPanelConfiguration RemotePanel;
- bool CompareByTime;
- bool CompareBySize;
- bool SynchronizeBrowsing;
- bool __fastcall operator !=(TScpCommanderConfiguration & rhc)
- { return C(WindowParams) C(LocalPanelWidth) C(CoolBarLayout) C(StatusBar)
- C(LocalPanel) C(RemotePanel) C(CurrentPanel) C(ToolBar) C(CommandLine)
- C(ExplorerStyleSelection) C(PreserveLocalDirectory)
- C(CompareBySize) C(CompareByTime) C(SynchronizeBrowsing) 0; };
- TCompareCriterias __fastcall CompareCriterias()
- {
- TCompareCriterias Criterias;
- if (CompareByTime)
- {
- Criterias << ccTime;
- }
- if (CompareBySize)
- {
- Criterias << ccSize;
- }
- return Criterias;
- }
- };
- //---------------------------------------------------------------------------
- struct TEditorConfiguration {
- TEditor Editor;
- AnsiString ExternalEditor;
- bool ExternalEditorText;
- AnsiString FontName;
- int FontHeight;
- int FontCharset;
- int FontStyle;
- bool WordWrap;
- AnsiString FindText;
- AnsiString ReplaceText;
- bool FindMatchCase;
- bool FindWholeWord;
- bool __fastcall operator !=(TEditorConfiguration & rhc)
- { return C(Editor) C(ExternalEditor) C(ExternalEditorText) C(FontName) C(FontHeight)
- C(FontCharset) C(FontStyle) C(WordWrap) C(FindText) C(ReplaceText)
- C(FindMatchCase) C(FindWholeWord) 0; };
- };
- //---------------------------------------------------------------------------
- enum TQueueViewShow { qvShow, qvHideWhenEmpty, qvHide };
- struct TQueueViewConfiguration {
- int Height;
- AnsiString Layout;
- TQueueViewShow Show;
- bool ToolBar;
- bool __fastcall operator !=(TQueueViewConfiguration & rhc)
- { return C(Height) C(Layout) C(Show) C(ToolBar) 0; };
- };
- #undef C
- //---------------------------------------------------------------------------
- class TBookmarks;
- class TBookmarkList;
- class TCustomCommands;
- //---------------------------------------------------------------------------
- class TWinConfiguration : public TCustomWinConfiguration
- {
- private:
- AnsiString FAutoStartSession;
- bool FCopyOnDoubleClick;
- bool FCopyOnDoubleClickConfirmation;
- bool FDDAllowMove;
- bool FDDAllowMoveInit;
- bool FDDTransferConfirmation;
- bool FDeleteToRecycleBin;
- bool FDimmHiddenFiles;
- bool FLogWindowOnStartup;
- AnsiString FLogWindowParams;
- TScpCommanderConfiguration FScpCommander;
- TScpExplorerConfiguration FScpExplorer;
- bool FSelectDirectories;
- AnsiString FSelectMask;
- bool FShowHiddenFiles;
- bool FShowInaccesibleDirectories;
- bool FConfirmDeleting;
- bool FUseLocationProfiles;
- AnsiString FDDTemporaryDirectory;
- bool FDDWarnLackOfTempSpace;
- bool FDDExtEnabled;
- int FDDExtInstalled;
- int FDDExtTimeout;
- bool FConfirmClosingSession;
- bool FConfirmExitOnCompletion;
- double FDDWarnLackOfTempSpaceRatio;
- AnsiString FTemporarySessionFile;
- AnsiString FTemporaryKeyFile;
- TBookmarks * FBookmarks;
- TCustomCommands * FCustomCommands;
- bool FCustomCommandsModified;
- bool FCustomCommandsDefaults;
- TEditorConfiguration FEditor;
- TQueueViewConfiguration FQueueView;
- bool FEmbeddedSessions;
- bool FExpertMode;
- bool FDisableOpenEdit;
- bool FForceDeleteTempFolder;
- bool FDefaultDirIsHome;
- void __fastcall SetCopyOnDoubleClick(bool value);
- void __fastcall SetCopyOnDoubleClickConfirmation(bool value);
- void __fastcall SetDDAllowMove(bool value);
- void __fastcall SetDDAllowMoveInit(bool value);
- void __fastcall SetDDTransferConfirmation(bool value);
- void __fastcall SetDeleteToRecycleBin(bool value);
- void __fastcall SetDimmHiddenFiles(bool value);
- void __fastcall SetLogWindowOnStartup(bool value);
- void __fastcall SetLogWindowParams(AnsiString value);
- void __fastcall SetScpCommander(TScpCommanderConfiguration value);
- void __fastcall SetScpExplorer(TScpExplorerConfiguration value);
- void __fastcall SetSelectDirectories(bool value);
- void __fastcall SetShowHiddenFiles(bool value);
- void __fastcall SetShowInaccesibleDirectories(bool value);
- void __fastcall SetConfirmDeleting(bool value);
- void __fastcall SetUseLocationProfiles(bool value);
- void __fastcall SetDDTemporaryDirectory(AnsiString value);
- void __fastcall SetDDWarnLackOfTempSpace(bool value);
- void __fastcall SetDDExtEnabled(bool value);
- void __fastcall SetDDExtTimeout(int value);
- void __fastcall SetConfirmClosingSession(bool value);
- void __fastcall SetConfirmExitOnCompletion(bool value);
- void __fastcall SetForceDeleteTempFolder(bool value);
- void __fastcall SetDDWarnLackOfTempSpaceRatio(double value);
- void __fastcall SetBookmarks(AnsiString Key, TBookmarkList * value);
- TBookmarkList * __fastcall GetBookmarks(AnsiString Key);
- void __fastcall SetAutoStartSession(AnsiString value);
- void __fastcall SetExpertMode(bool value);
- void __fastcall SetDefaultDirIsHome(bool value);
- void __fastcall SetEditor(TEditorConfiguration value);
- void __fastcall SetQueueView(TQueueViewConfiguration value);
- void __fastcall SetCustomCommands(TCustomCommands * value);
- bool __fastcall GetDDExtInstalled();
- protected:
- virtual TStorage __fastcall GetStorage();
- bool __fastcall DumpResourceToFile(
- const AnsiString ResName, const AnsiString FileName);
- virtual void __fastcall SaveSpecial(THierarchicalStorage * Storage);
- virtual void __fastcall LoadSpecial(THierarchicalStorage * Storage);
- virtual void __fastcall LoadAdmin(THierarchicalStorage * Storage);
- virtual AnsiString __fastcall GetDefaultKeyFile();
- virtual void __fastcall ModifyAll();
- bool __fastcall SameStringLists(TStrings * Strings1, TStrings * Strings2);
- bool __fastcall InternalReloadComponentRes(const AnsiString ResName,
- HANDLE HInst, TComponent * Instance);
- bool __fastcall InitComponent(TComponent * Instance,
- TClass RootAncestor, TClass ClassType);
- virtual HANDLE __fastcall LoadNewResourceModule(LCID Locale,
- AnsiString * FileName = NULL);
- virtual void __fastcall SetResourceModule(HANDLE Instance);
- virtual LCID __fastcall GetLocale();
- void __fastcall CheckTranslationVersion(const AnsiString FileName);
- void __fastcall DefaultLocalized();
- public:
- __fastcall TWinConfiguration();
- virtual __fastcall ~TWinConfiguration();
- virtual void __fastcall Default();
- void __fastcall RestoreForm(AnsiString Data, TCustomForm * Form);
- AnsiString __fastcall StoreForm(TCustomForm * Form);
- void __fastcall ClearTemporaryLoginData();
- virtual THierarchicalStorage * CreateScpStorage(bool SessionList);
- static void ReformatFileNameCommand(AnsiString & Command);
- __property TScpCommanderConfiguration ScpCommander = { read = FScpCommander, write = SetScpCommander };
- __property TScpExplorerConfiguration ScpExplorer = { read = FScpExplorer, write = SetScpExplorer };
- __property bool SelectDirectories = { read = FSelectDirectories, write = SetSelectDirectories };
- __property AnsiString SelectMask = { read = FSelectMask, write = FSelectMask };
- __property bool ShowHiddenFiles = { read = FShowHiddenFiles, write = SetShowHiddenFiles };
- __property bool ShowInaccesibleDirectories = { read = FShowInaccesibleDirectories, write = SetShowInaccesibleDirectories };
- __property TEditorConfiguration Editor = { read = FEditor, write = SetEditor };
- __property TQueueViewConfiguration QueueView = { read = FQueueView, write = SetQueueView };
- __property AnsiString AutoStartSession = { read = FAutoStartSession, write = SetAutoStartSession };
- __property bool CopyOnDoubleClick = { read = FCopyOnDoubleClick, write = SetCopyOnDoubleClick };
- __property bool CopyOnDoubleClickConfirmation = { read = FCopyOnDoubleClickConfirmation, write = SetCopyOnDoubleClickConfirmation };
- __property bool DDAllowMove = { read = FDDAllowMove, write = SetDDAllowMove };
- __property bool DDAllowMoveInit = { read = FDDAllowMoveInit, write = SetDDAllowMoveInit };
- __property bool DDTransferConfirmation = { read = FDDTransferConfirmation, write = SetDDTransferConfirmation };
- __property bool LogWindowOnStartup = { read = FLogWindowOnStartup, write = SetLogWindowOnStartup };
- __property bool DeleteToRecycleBin = { read = FDeleteToRecycleBin, write = SetDeleteToRecycleBin };
- __property bool DimmHiddenFiles = { read = FDimmHiddenFiles, write = SetDimmHiddenFiles };
- __property AnsiString LogWindowParams = { read = FLogWindowParams, write = SetLogWindowParams };
- __property bool ConfirmDeleting = { read = FConfirmDeleting, write = SetConfirmDeleting};
- __property bool UseLocationProfiles = { read = FUseLocationProfiles, write = SetUseLocationProfiles};
- __property AnsiString DDTemporaryDirectory = { read=FDDTemporaryDirectory, write=SetDDTemporaryDirectory };
- __property bool DDWarnLackOfTempSpace = { read=FDDWarnLackOfTempSpace, write=SetDDWarnLackOfTempSpace };
- __property bool DDExtEnabled = { read=FDDExtEnabled, write=SetDDExtEnabled };
- __property bool DDExtInstalled = { read=GetDDExtInstalled };
- __property int DDExtTimeout = { read=FDDExtTimeout, write=SetDDExtTimeout };
- __property bool ConfirmClosingSession = { read=FConfirmClosingSession, write=SetConfirmClosingSession };
- __property bool ConfirmExitOnCompletion = { read=FConfirmExitOnCompletion, write=SetConfirmExitOnCompletion };
- __property bool ForceDeleteTempFolder = { read=FForceDeleteTempFolder, write=SetForceDeleteTempFolder };
- __property double DDWarnLackOfTempSpaceRatio = { read=FDDWarnLackOfTempSpaceRatio, write=SetDDWarnLackOfTempSpaceRatio };
- __property TBookmarkList * Bookmarks[AnsiString Key] = { read = GetBookmarks, write = SetBookmarks };
- __property bool EmbeddedSessions = { read = FEmbeddedSessions };
- __property bool ExpertMode = { read = FExpertMode, write = SetExpertMode };
- __property bool DefaultDirIsHome = { read = FDefaultDirIsHome, write = SetDefaultDirIsHome };
- __property bool DisableOpenEdit = { read = FDisableOpenEdit };
- __property TCustomCommands * CustomCommands = { read = FCustomCommands, write = SetCustomCommands };
- };
- //---------------------------------------------------------------------------
- class TCustomCommands : public TStringList
- {
- public:
- __property int Params[AnsiString Name] = {read=GetParam, write=SetParam};
- bool __fastcall Equals(TCustomCommands * Commands);
- private:
- int __fastcall GetParam(const AnsiString & Name);
- void __fastcall SetParam(const AnsiString & Name, int value);
- };
- //---------------------------------------------------------------------------
- #define WinConfiguration (dynamic_cast<TWinConfiguration *>(Configuration))
- //---------------------------------------------------------------------------
- #endif
|