mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 13:14:59 -06:00
Add: Clear various history tracking within registry, see issue #113
- you can re-enable this via tools->options->settings
This commit is contained in:
@@ -8,6 +8,8 @@
|
||||
#include "../../../Windows/Registry.h"
|
||||
#include "../../../Windows/Synchronization.h"
|
||||
|
||||
#include "../FileManager/RegistryUtils.h"
|
||||
|
||||
#include "ZipRegistry.h"
|
||||
|
||||
using namespace NWindows;
|
||||
@@ -67,6 +69,7 @@ void CInfo::Save() const
|
||||
CS_LOCK
|
||||
CKey key;
|
||||
CreateMainKey(key, kKeyName);
|
||||
UStringVector Empty;
|
||||
|
||||
if (PathMode_Force)
|
||||
key.SetValue(kExtractMode, (UInt32)PathMode);
|
||||
@@ -80,7 +83,10 @@ void CInfo::Save() const
|
||||
Key_Set_BoolPair(key, kShowPassword, ShowPassword);
|
||||
|
||||
key.RecurseDeleteKey(kPathHistory);
|
||||
if (WantPathHistory())
|
||||
key.SetValue_Strings(kPathHistory, Paths);
|
||||
else
|
||||
key.SetValue_Strings(kPathHistory, Empty);
|
||||
}
|
||||
|
||||
void Save_ShowPassword(bool showPassword)
|
||||
@@ -198,6 +204,7 @@ static void GetRegUInt32(CKey &key, LPCTSTR name, UInt32 &value)
|
||||
|
||||
void CInfo::Save() const
|
||||
{
|
||||
UStringVector Empty;
|
||||
CS_LOCK
|
||||
|
||||
CKey key;
|
||||
@@ -214,7 +221,11 @@ void CInfo::Save() const
|
||||
key.SetValue(kShowPassword, ShowPassword);
|
||||
key.SetValue(kEncryptHeaders, EncryptHeaders);
|
||||
key.RecurseDeleteKey(kArcHistory);
|
||||
|
||||
if (WantArcHistory())
|
||||
key.SetValue_Strings(kArcHistory, ArcPaths);
|
||||
else
|
||||
key.SetValue_Strings(kArcHistory, Empty);
|
||||
|
||||
key.RecurseDeleteKey(kOptionsKeyName);
|
||||
{
|
||||
|
||||
@@ -234,7 +234,7 @@ bool CMenuPage::OnInit()
|
||||
|
||||
static void ShowMenuErrorMessage(const wchar_t *m, HWND hwnd)
|
||||
{
|
||||
MessageBoxW(hwnd, m, L"7-Zip", MB_ICONERROR);
|
||||
MessageBoxW(hwnd, m, L"7-Zip ZS", MB_ICONERROR);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
#define y 82
|
||||
|
||||
CAPTION "7-Zip"
|
||||
CAPTION "7-Zip ZS"
|
||||
BEGIN
|
||||
CONTROL "Integrate 7-Zip to shell context menu", IDX_SYSTEM_INTEGRATE_TO_MENU, MY_CHECKBOX, m, m, xc, 10
|
||||
CONTROL "Integrate 7-Zip ZS to shell context menu", IDX_SYSTEM_INTEGRATE_TO_MENU, MY_CHECKBOX, m, m, xc, 10
|
||||
CONTROL "(32-bit)", IDX_SYSTEM_INTEGRATE_TO_MENU_2, MY_CHECKBOX, m, m + 14, xc, 10
|
||||
CONTROL "Cascaded context menu", IDX_SYSTEM_CASCADED_MENU, MY_CHECKBOX, m, m + 28, xc, 10
|
||||
CONTROL "Icons in context menu", IDX_SYSTEM_ICON_IN_MENU, MY_CHECKBOX, m, m + 42, xc, 10
|
||||
|
||||
@@ -36,6 +36,12 @@ static LPCTSTR const kShowSystemMenu = TEXT("ShowSystemMenu");
|
||||
// static LPCTSTR const kLockMemoryAdd = TEXT("LockMemoryAdd");
|
||||
static LPCTSTR const kLargePages = TEXT("LargePages");
|
||||
|
||||
// they default to off (0) in 7-Zip ZS /TR
|
||||
static LPCTSTR const kArcHistory = TEXT("WantArcHistory");
|
||||
static LPCTSTR const kPathHistory = TEXT("WantPathHistory");
|
||||
static LPCTSTR const kCopyHistory = TEXT("WantCopyHistory");
|
||||
static LPCTSTR const kFolderHistory = TEXT("WantFolderHistory");
|
||||
|
||||
static LPCTSTR const kFlatViewName = TEXT("FlatViewArc");
|
||||
// static LPCTSTR const kShowDeletedFiles = TEXT("ShowDeleted");
|
||||
|
||||
@@ -89,6 +95,18 @@ static bool Read7ZipOption(LPCTSTR value, bool defaultValue)
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
static bool ReadFMOption(LPCTSTR value)
|
||||
{
|
||||
CKey key;
|
||||
bool enabled = false;
|
||||
if (key.Open(HKEY_CURRENT_USER, kCU_FMPath, KEY_READ) == ERROR_SUCCESS)
|
||||
{
|
||||
if (key.QueryValue(value, enabled) == ERROR_SUCCESS)
|
||||
return enabled;
|
||||
}
|
||||
return enabled;
|
||||
}
|
||||
|
||||
static void ReadOption(CKey &key, LPCTSTR value, bool &dest)
|
||||
{
|
||||
bool enabled = false;
|
||||
@@ -125,6 +143,10 @@ void CFmSettings::Save() const
|
||||
SaveOption(kShowGrid, ShowGrid);
|
||||
SaveOption(kSingleClick, SingleClick);
|
||||
SaveOption(kAlternativeSelection, AlternativeSelection);
|
||||
SaveOption(kArcHistory, ArcHistory);
|
||||
SaveOption(kPathHistory, PathHistory);
|
||||
SaveOption(kCopyHistory, CopyHistory);
|
||||
SaveOption(kFolderHistory, FolderHistory);
|
||||
// SaveOption(kUnderline, Underline);
|
||||
|
||||
SaveOption(kShowSystemMenu, ShowSystemMenu);
|
||||
@@ -138,6 +160,10 @@ void CFmSettings::Load()
|
||||
ShowGrid = false;
|
||||
SingleClick = false;
|
||||
AlternativeSelection = false;
|
||||
ArcHistory = false;
|
||||
PathHistory = false;
|
||||
CopyHistory = false;
|
||||
FolderHistory = false;
|
||||
// Underline = false;
|
||||
|
||||
ShowSystemMenu = false;
|
||||
@@ -151,6 +177,10 @@ void CFmSettings::Load()
|
||||
ReadOption(key, kShowGrid, ShowGrid);
|
||||
ReadOption(key, kSingleClick, SingleClick);
|
||||
ReadOption(key, kAlternativeSelection, AlternativeSelection);
|
||||
ReadOption(key, kArcHistory, ArcHistory);
|
||||
ReadOption(key, kPathHistory, PathHistory);
|
||||
ReadOption(key, kCopyHistory, CopyHistory);
|
||||
ReadOption(key, kFolderHistory, FolderHistory);
|
||||
// ReadOption(key, kUnderline, Underline);
|
||||
|
||||
ReadOption(key, kShowSystemMenu, ShowSystemMenu );
|
||||
@@ -164,6 +194,11 @@ void CFmSettings::Load()
|
||||
void SaveLockMemoryEnable(bool enable) { Save7ZipOption(kLargePages, enable); }
|
||||
bool ReadLockMemoryEnable() { return Read7ZipOption(kLargePages, false); }
|
||||
|
||||
bool WantArcHistory() { return ReadFMOption(kArcHistory); }
|
||||
bool WantPathHistory() { return ReadFMOption(kPathHistory); }
|
||||
bool WantCopyHistory() { return ReadFMOption(kCopyHistory); }
|
||||
bool WantFolderHistory() { return ReadFMOption(kFolderHistory); }
|
||||
|
||||
static CSysString GetFlatViewName(UInt32 panelIndex)
|
||||
{
|
||||
TCHAR panelString[16];
|
||||
|
||||
@@ -23,6 +23,10 @@ struct CFmSettings
|
||||
bool ShowGrid;
|
||||
bool SingleClick;
|
||||
bool AlternativeSelection;
|
||||
bool ArcHistory;
|
||||
bool PathHistory;
|
||||
bool CopyHistory;
|
||||
bool FolderHistory;
|
||||
// bool Underline;
|
||||
|
||||
bool ShowSystemMenu;
|
||||
@@ -37,6 +41,11 @@ struct CFmSettings
|
||||
bool ReadLockMemoryEnable();
|
||||
void SaveLockMemoryEnable(bool enable);
|
||||
|
||||
bool WantArcHistory();
|
||||
bool WantPathHistory();
|
||||
bool WantCopyHistory();
|
||||
bool WantFolderHistory();
|
||||
|
||||
void SaveFlatView(UInt32 panelIndex, bool enable);
|
||||
bool ReadFlatView(UInt32 panelIndex);
|
||||
|
||||
|
||||
@@ -26,7 +26,11 @@ static const UInt32 kLangIDs[] =
|
||||
IDX_SETTINGS_SHOW_GRID,
|
||||
IDX_SETTINGS_SINGLE_CLICK,
|
||||
IDX_SETTINGS_ALTERNATIVE_SELECTION,
|
||||
IDX_SETTINGS_LARGE_PAGES
|
||||
IDX_SETTINGS_LARGE_PAGES,
|
||||
IDX_SETTINGS_WANT_ARC_HISTORY,
|
||||
IDX_SETTINGS_WANT_PATH_HISTORY,
|
||||
IDX_SETTINGS_WANT_COPY_HISTORY,
|
||||
IDX_SETTINGS_WANT_FOLDER_HISTORY
|
||||
};
|
||||
|
||||
#define kSettingsTopic "FM/options.htm#settings"
|
||||
@@ -58,6 +62,10 @@ bool CSettingsPage::OnInit()
|
||||
else
|
||||
EnableItem(IDX_SETTINGS_LARGE_PAGES, false);
|
||||
|
||||
CheckButton(IDX_SETTINGS_WANT_ARC_HISTORY, st.ArcHistory);
|
||||
CheckButton(IDX_SETTINGS_WANT_PATH_HISTORY, st.PathHistory);
|
||||
CheckButton(IDX_SETTINGS_WANT_COPY_HISTORY, st.CopyHistory);
|
||||
CheckButton(IDX_SETTINGS_WANT_FOLDER_HISTORY, st.FolderHistory);
|
||||
// EnableSubItems();
|
||||
|
||||
return CPropertyPage::OnInit();
|
||||
@@ -81,6 +89,10 @@ LONG CSettingsPage::OnApply()
|
||||
st.ShowGrid = IsButtonCheckedBool(IDX_SETTINGS_SHOW_GRID);
|
||||
st.SingleClick = IsButtonCheckedBool(IDX_SETTINGS_SINGLE_CLICK);
|
||||
st.AlternativeSelection = IsButtonCheckedBool(IDX_SETTINGS_ALTERNATIVE_SELECTION);
|
||||
st.ArcHistory = IsButtonCheckedBool(IDX_SETTINGS_WANT_ARC_HISTORY);
|
||||
st.PathHistory = IsButtonCheckedBool(IDX_SETTINGS_WANT_PATH_HISTORY);
|
||||
st.CopyHistory = IsButtonCheckedBool(IDX_SETTINGS_WANT_COPY_HISTORY);
|
||||
st.FolderHistory = IsButtonCheckedBool(IDX_SETTINGS_WANT_FOLDER_HISTORY);
|
||||
// st.Underline = IsButtonCheckedBool(IDX_SETTINGS_UNDERLINE);
|
||||
|
||||
st.ShowSystemMenu = IsButtonCheckedBool(IDX_SETTINGS_SHOW_SYSTEM_MENU);
|
||||
@@ -126,6 +138,10 @@ bool CSettingsPage::OnButtonClicked(int buttonID, HWND buttonHWND)
|
||||
case IDX_SETTINGS_FULL_ROW:
|
||||
case IDX_SETTINGS_SHOW_GRID:
|
||||
case IDX_SETTINGS_ALTERNATIVE_SELECTION:
|
||||
case IDX_SETTINGS_WANT_ARC_HISTORY:
|
||||
case IDX_SETTINGS_WANT_PATH_HISTORY:
|
||||
case IDX_SETTINGS_WANT_COPY_HISTORY:
|
||||
case IDX_SETTINGS_WANT_FOLDER_HISTORY:
|
||||
_wasChanged = true;
|
||||
break;
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
class CSettingsPage: public NWindows::NControl::CPropertyPage
|
||||
{
|
||||
bool _wasChanged;
|
||||
|
||||
bool _largePages_wasChanged;
|
||||
|
||||
// void EnableSubItems();
|
||||
|
||||
@@ -5,9 +5,13 @@ BEGIN
|
||||
CONTROL "&Full row select", IDX_SETTINGS_FULL_ROW, MY_CHECKBOX, m, 36, xc, 10
|
||||
CONTROL "Show &grid lines", IDX_SETTINGS_SHOW_GRID, MY_CHECKBOX, m, 50, xc, 10
|
||||
CONTROL "&Single-click to open an item", IDX_SETTINGS_SINGLE_CLICK, MY_CHECKBOX, m, 64, xc, 10
|
||||
CONTROL "&Alternative selection mode", IDX_SETTINGS_ALTERNATIVE_SELECTION, MY_CHECKBOX, m, 78, xc, 10
|
||||
|
||||
CONTROL "Show system &menu", IDX_SETTINGS_SHOW_SYSTEM_MENU, MY_CHECKBOX, m, 100, xc, 10
|
||||
CONTROL "&Alternative selection mode", IDX_SETTINGS_ALTERNATIVE_SELECTION, MY_CHECKBOX, m, 80, xc, 10
|
||||
CONTROL "Show system &menu", IDX_SETTINGS_SHOW_SYSTEM_MENU, MY_CHECKBOX, m, 96, xc, 10
|
||||
CONTROL "Use &large memory pages", IDX_SETTINGS_LARGE_PAGES, MY_CHECKBOX, m, 112, xc, 10
|
||||
|
||||
CONTROL "Use &large memory pages", IDX_SETTINGS_LARGE_PAGES, MY_CHECKBOX, m, 122, xc, 10
|
||||
CONTROL "Want ArcHistory", IDX_SETTINGS_WANT_ARC_HISTORY, MY_CHECKBOX, m, 130, xc, 10
|
||||
CONTROL "Want PathHistory", IDX_SETTINGS_WANT_PATH_HISTORY, MY_CHECKBOX, m, 144, xc, 10
|
||||
CONTROL "Want CopyHistory", IDX_SETTINGS_WANT_COPY_HISTORY, MY_CHECKBOX, m, 158, xc, 10
|
||||
CONTROL "Want FolderHistory", IDX_SETTINGS_WANT_FOLDER_HISTORY, MY_CHECKBOX, m, 172, xc, 10
|
||||
END
|
||||
|
||||
@@ -9,3 +9,7 @@
|
||||
#define IDX_SETTINGS_SINGLE_CLICK 2506
|
||||
#define IDX_SETTINGS_ALTERNATIVE_SELECTION 2507
|
||||
#define IDX_SETTINGS_LARGE_PAGES 2508
|
||||
#define IDX_SETTINGS_WANT_ARC_HISTORY 2509
|
||||
#define IDX_SETTINGS_WANT_PATH_HISTORY 2510
|
||||
#define IDX_SETTINGS_WANT_COPY_HISTORY 2511
|
||||
#define IDX_SETTINGS_WANT_FOLDER_HISTORY 2512
|
||||
|
||||
@@ -35,11 +35,11 @@ static const UInt32 kLangIDs[] =
|
||||
CSysString CModifiedExtInfo::GetString() const
|
||||
{
|
||||
if (State == kExtState_7Zip)
|
||||
return TEXT("7-Zip");
|
||||
return TEXT("7-Zip ZS");
|
||||
if (State == kExtState_Clear)
|
||||
return TEXT("");
|
||||
if (Other7Zip)
|
||||
return TEXT("[7-Zip]");
|
||||
return TEXT("[7-Zip ZS]");
|
||||
return ProgramKey;
|
||||
};
|
||||
|
||||
@@ -319,7 +319,7 @@ LONG CSystemPage::OnApply()
|
||||
_needSave = false;
|
||||
|
||||
if (res != 0)
|
||||
MessageBoxW(*this, NError::MyFormatMessage(res), L"7-Zip", MB_ICONERROR);
|
||||
MessageBoxW(*this, NError::MyFormatMessage(res), L"7-Zip ZS", MB_ICONERROR);
|
||||
|
||||
return PSNRET_NOERROR;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
IDD_SYSTEM DIALOG 0, 0, xs, ys MY_PAGE_STYLE MY_FONT
|
||||
CAPTION "System"
|
||||
BEGIN
|
||||
LTEXT "Associate 7-Zip with:", IDT_SYSTEM_ASSOCIATE, m, m, xc, 8
|
||||
LTEXT "Associate 7-Zip ZS with:", IDT_SYSTEM_ASSOCIATE, m, m, xc, 8
|
||||
PUSHBUTTON "+", IDB_SYSTEM_CURRENT, 80, m + 12, 40, bys
|
||||
PUSHBUTTON "+", IDB_SYSTEM_ALL, 166, m + 12, 40, bys
|
||||
CONTROL "List1", IDL_SYSTEM_ASSOCIATE, "SysListView32",
|
||||
@@ -28,7 +28,7 @@ END
|
||||
IDD_SYSTEM_2 DIALOG 0, 0, xs, ys MY_PAGE_STYLE MY_FONT
|
||||
CAPTION "System"
|
||||
BEGIN
|
||||
LTEXT "Associate 7-Zip with:", IDT_SYSTEM_ASSOCIATE, m, m, xc, 8
|
||||
LTEXT "Associate 7-Zip ZS with:", IDT_SYSTEM_ASSOCIATE, m, m, xc, 8
|
||||
PUSHBUTTON "+", IDB_SYSTEM_CURRENT, 60, m + 12, 40, bys
|
||||
CONTROL "List1", IDL_SYSTEM_ASSOCIATE, "SysListView32",
|
||||
LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "../../../Windows/Registry.h"
|
||||
#include "../../../Windows/Synchronization.h"
|
||||
|
||||
#include "RegistryUtils.h"
|
||||
#include "ViewSettings.h"
|
||||
|
||||
using namespace NWindows;
|
||||
@@ -288,7 +289,15 @@ static void ReadStringList(LPCTSTR valueName, UStringVector &folders)
|
||||
}
|
||||
|
||||
void SaveFolderHistory(const UStringVector &folders)
|
||||
{ SaveStringList(kFolderHistoryValueName, folders); }
|
||||
{
|
||||
if (WantFolderHistory())
|
||||
SaveStringList(kFolderHistoryValueName, folders);
|
||||
else {
|
||||
UStringVector Empty;
|
||||
SaveStringList(kFolderHistoryValueName, Empty);
|
||||
}
|
||||
}
|
||||
|
||||
void ReadFolderHistory(UStringVector &folders)
|
||||
{ ReadStringList(kFolderHistoryValueName, folders); }
|
||||
|
||||
@@ -298,7 +307,15 @@ void ReadFastFolders(UStringVector &folders)
|
||||
{ ReadStringList(kFastFoldersValueName, folders); }
|
||||
|
||||
void SaveCopyHistory(const UStringVector &folders)
|
||||
{ SaveStringList(kCopyHistoryValueName, folders); }
|
||||
{
|
||||
if (WantCopyHistory())
|
||||
SaveStringList(kCopyHistoryValueName, folders);
|
||||
else {
|
||||
UStringVector Empty;
|
||||
SaveStringList(kCopyHistoryValueName, Empty);
|
||||
}
|
||||
}
|
||||
|
||||
void ReadCopyHistory(UStringVector &folders)
|
||||
{ ReadStringList(kCopyHistoryValueName, folders); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user