⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwsprefs.h

📁 Password Safe Password Safe is a password database utility. Users can keep their passwords securely
💻 H
字号:
// PWSprefs.h//-----------------------------------------------------------------------------#ifndef PWSprefs_h#define PWSprefs_h/* * A class to abstract away the persistent storage mechanism used to store and * retrieve user preferences. Pre-2.03 implementations used the Windows  * registry. People have asked for preferences to be stored along with the  * database, so that the same preferences can be shared across computers * (e.g., using disk-on-key). * We need to be careful about compatability here, so:  * Loading preferences will be done first from the registry, then from * the file. This way, exisitng prefs will be imported first time, and file * prefs will have priority over locals. Storing prefs will be done both to * registry and to file. Of course, the registry part is Windows-specific. * * IMPORTANT: When adding a new preference, the new enum MUST be before last, * that is, right before the Num*Prefs enum. This is because the prefs are * identified in storage by their type and index. */#include "MyString.h"class PWSprefs { public:  static PWSprefs *GetInstance(); // singleton  // prefString is stored on file, format described in PWSprefs.cpp  void Load(const CMyString &prefString);  CMyString Store(); // returns string for saving in file  enum  BoolPrefs {AlwaysOnTop, ShowPWDefault, ShowPWInList, SortAscending,		   UseDefUser, SaveImmediately, PWUseLowercase, PWUseUppercase,		   PWUseDigits, PWUseSymbols, PWUseHexDigits, PWEasyVision,		   DontAskQuestion, DeleteQuestion, DCShowsPassword,		   DontAskMinimizeClearYesNo, DatabaseClear,		   DontAskSaveMinimize, QuerySetDef,		   UseNewToolbar, UseSystemTray, 		   LockOnWindowLock, NumBoolPrefs};  enum  IntPrefs {Column1Width, Column2Width, Column3Width, Column4Width,		  SortedColumn, PWLenDefault, MaxMRUItems,		  NumIntPrefs};  enum  StringPrefs {CurrentBackup, CurrentFile, LastView, DefUserName,		     NumStringPrefs};  bool IsChanged() const {return m_changed;}  void ClearChanged() {m_changed = false;}  bool GetPref(BoolPrefs pref_enum) const;  unsigned int GetPref(IntPrefs pref_enum) const;  // Following for case where default value is determined @ runtime  unsigned int GetPref(IntPrefs pref_enum, unsigned int defVal) const;  CMyString GetPref(StringPrefs pref_enum) const;  // Special case  void GetPrefRect(long &top, long &bottom,		   long &left, long &right) const;  void SetPref(BoolPrefs pref_enum, bool value);  void SetPref(IntPrefs pref_enum, unsigned int value);  void SetPref(StringPrefs pref_enum, const CMyString &value);  // Special case  void SetPrefRect(long top, long bottom,		   long left, long right); private:  PWSprefs();  bool GetBoolPref(const CMyString &name, bool defVal) const;  unsigned int GetIntPref(const CMyString &name, unsigned int defVal) const;  CMyString GetStringPref(const CMyString &name, const CMyString &defVal) const;  void SetPref(const CMyString &name, bool val);  void SetPref(const CMyString &name, unsigned int val);  void SetPref(const CMyString &name, const CMyString &val);  static PWSprefs *self; // singleton  CWinApp *m_app;  bool m_changed;  // below, isPersistent means stored in db, !isPersistent means use registry only  static const struct boolPref {    TCHAR *name; bool defVal; bool isPersistent;} m_bool_prefs[NumBoolPrefs];  static const struct intPref {    TCHAR *name; unsigned int defVal; bool isPersistent;} m_int_prefs[NumIntPrefs];  static const struct stringPref {    TCHAR *name; TCHAR *defVal; bool isPersistent;} m_string_prefs[NumStringPrefs];  // current values, loaded/stored from db  bool m_boolValues[NumBoolPrefs];  unsigned int m_intValues[NumIntPrefs];  CMyString m_stringValues[NumStringPrefs];};#endif /* PWSprefs_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -