Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'CPP/7zip/UI/FileManager/RegistryUtils.cpp')
-rw-r--r--CPP/7zip/UI/FileManager/RegistryUtils.cpp97
1 files changed, 59 insertions, 38 deletions
diff --git a/CPP/7zip/UI/FileManager/RegistryUtils.cpp b/CPP/7zip/UI/FileManager/RegistryUtils.cpp
index 84dada2b..9cc76c36 100644
--- a/CPP/7zip/UI/FileManager/RegistryUtils.cpp
+++ b/CPP/7zip/UI/FileManager/RegistryUtils.cpp
@@ -18,21 +18,24 @@ static const TCHAR *kCU_FMPath = REG_PATH_7Z TEXT(STRING_PATH_SEPARATOR) TEXT("F
// static const TCHAR *kLM_Path = REG_PATH_7Z TEXT(STRING_PATH_SEPARATOR) TEXT("FM");
static const WCHAR *kLangValueName = L"Lang";
+
static const WCHAR *kViewer = L"Viewer";
static const WCHAR *kEditor = L"Editor";
static const WCHAR *kDiff = L"Diff";
+
static const TCHAR *kShowDots = TEXT("ShowDots");
static const TCHAR *kShowRealFileIcons = TEXT("ShowRealFileIcons");
-static const TCHAR *kShowSystemMenu = TEXT("ShowSystemMenu");
-
static const TCHAR *kFullRow = TEXT("FullRow");
static const TCHAR *kShowGrid = TEXT("ShowGrid");
-static const TCHAR *kAlternativeSelection = TEXT("AlternativeSelection");
-// static const TCHAR *kLockMemoryAdd = TEXT("LockMemoryAdd");
-static const TCHAR *kLargePagesEnable = TEXT("LargePages");
static const TCHAR *kSingleClick = TEXT("SingleClick");
+static const TCHAR *kAlternativeSelection = TEXT("AlternativeSelection");
// static const TCHAR *kUnderline = TEXT("Underline");
+static const TCHAR *kShowSystemMenu = TEXT("ShowSystemMenu");
+
+// static const TCHAR *kLockMemoryAdd = TEXT("LockMemoryAdd");
+static const TCHAR *kLargePages = TEXT("LargePages");
+
static const TCHAR *kFlatViewName = TEXT("FlatViewArc");
// static const TCHAR *kShowDeletedFiles = TEXT("ShowDeleted");
@@ -86,16 +89,11 @@ static bool Read7ZipOption(const TCHAR *value, bool defaultValue)
return defaultValue;
}
-static bool ReadOption(const TCHAR *value, bool defaultValue)
+static void ReadOption(CKey &key, const TCHAR *value, bool &dest)
{
- CKey key;
- if (key.Open(HKEY_CURRENT_USER, kCU_FMPath, KEY_READ) == ERROR_SUCCESS)
- {
- bool enabled;
- if (key.QueryValue(value, enabled) == ERROR_SUCCESS)
- return enabled;
- }
- return defaultValue;
+ bool enabled = false;
+ if (key.QueryValue(value, enabled) == ERROR_SUCCESS)
+ dest = enabled;
}
/*
@@ -119,37 +117,52 @@ static bool ReadLmOption(const TCHAR *value, bool defaultValue)
}
*/
-void SaveShowDots(bool showDots) { SaveOption(kShowDots, showDots); }
-bool ReadShowDots() { return ReadOption(kShowDots, false); }
-
-void SaveShowRealFileIcons(bool show) { SaveOption(kShowRealFileIcons, show); }
-bool ReadShowRealFileIcons() { return ReadOption(kShowRealFileIcons, false); }
-
-void Save_ShowSystemMenu(bool show) { SaveOption(kShowSystemMenu, show); }
-bool Read_ShowSystemMenu(){ return ReadOption(kShowSystemMenu, false); }
-
-void SaveFullRow(bool enable) { SaveOption(kFullRow, enable); }
-bool ReadFullRow() { return ReadOption(kFullRow, false); }
+void CFmSettings::Save() const
+{
+ SaveOption(kShowDots, ShowDots);
+ SaveOption(kShowRealFileIcons, ShowRealFileIcons);
+ SaveOption(kFullRow, FullRow);
+ SaveOption(kShowGrid, ShowGrid);
+ SaveOption(kSingleClick, SingleClick);
+ SaveOption(kAlternativeSelection, AlternativeSelection);
+ // SaveOption(kUnderline, Underline);
+
+ SaveOption(kShowSystemMenu, ShowSystemMenu);
+}
-void SaveShowGrid(bool enable) { SaveOption(kShowGrid, enable); }
-bool ReadShowGrid(){ return ReadOption(kShowGrid, false); }
+void CFmSettings::Load()
+{
+ ShowDots = false;
+ ShowRealFileIcons = false;
+ FullRow = false;
+ ShowGrid = false;
+ SingleClick = false;
+ AlternativeSelection = false;
+ // Underline = false;
-void SaveAlternativeSelection(bool enable) { SaveOption(kAlternativeSelection, enable); }
-bool ReadAlternativeSelection(){ return ReadOption(kAlternativeSelection, false); }
+ ShowSystemMenu = false;
-void SaveSingleClick(bool enable) { SaveOption(kSingleClick, enable); }
-bool ReadSingleClick(){ return ReadOption(kSingleClick, false); }
+ CKey key;
+ if (key.Open(HKEY_CURRENT_USER, kCU_FMPath, KEY_READ) == ERROR_SUCCESS)
+ {
+ ReadOption(key, kShowDots, ShowDots);
+ ReadOption(key, kShowRealFileIcons, ShowRealFileIcons);
+ ReadOption(key, kFullRow, FullRow);
+ ReadOption(key, kShowGrid, ShowGrid);
+ ReadOption(key, kSingleClick, SingleClick);
+ ReadOption(key, kAlternativeSelection, AlternativeSelection);
+ // ReadOption(key, kUnderline, Underline);
+
+ ReadOption(key, kShowSystemMenu, ShowSystemMenu );
+ }
+}
-/*
-void SaveUnderline(bool enable) { SaveOption(kUnderline, enable); }
-bool ReadUnderline(){ return ReadOption(kUnderline, false); }
-*/
// void SaveLockMemoryAdd(bool enable) { SaveLmOption(kLockMemoryAdd, enable); }
// bool ReadLockMemoryAdd() { return ReadLmOption(kLockMemoryAdd, true); }
-void SaveLockMemoryEnable(bool enable) { Save7ZipOption(kLargePagesEnable, enable); }
-bool ReadLockMemoryEnable() { return Read7ZipOption(kLargePagesEnable, false); }
+void SaveLockMemoryEnable(bool enable) { Save7ZipOption(kLargePages, enable); }
+bool ReadLockMemoryEnable() { return Read7ZipOption(kLargePages, false); }
static CSysString GetFlatViewName(UInt32 panelIndex)
{
@@ -159,7 +172,15 @@ static CSysString GetFlatViewName(UInt32 panelIndex)
}
void SaveFlatView(UInt32 panelIndex, bool enable) { SaveOption(GetFlatViewName(panelIndex), enable); }
-bool ReadFlatView(UInt32 panelIndex) { return ReadOption(GetFlatViewName(panelIndex), false); }
+
+bool ReadFlatView(UInt32 panelIndex)
+{
+ bool enabled = false;
+ CKey key;
+ if (key.Open(HKEY_CURRENT_USER, kCU_FMPath, KEY_READ) == ERROR_SUCCESS)
+ ReadOption(key, GetFlatViewName(panelIndex), enabled);
+ return enabled;
+}
/*
void Save_ShowDeleted(bool enable) { SaveOption(kShowDeletedFiles, enable); }