~ubuntu-installer/wubi/trunk

« back to all changes in this revision

Viewing changes to src/7z/CPP/7zip/UI/FileManager/SettingsPage.cpp

  • Committer: Agostino Russo
  • Date: 2008-12-04 00:37:30 UTC
  • Revision ID: agostino.russo@gmail.com-20081204003730-3o051yp78d6ujckl
* Bumped version to 9.04
* Added required binaries (will be compiled at a later stage)
* Added uninstallation page
* Added BitTorrent source
* Added documentation and licenses
* Connected download managers
* Fixed download status updates
* Added more information to the README
* Made the tasklist thread daemonic so that it does not prevent the
  main application from quitting

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// SettingsPage.cpp
 
2
 
 
3
#include "StdAfx.h"
 
4
#include "SettingsPageRes.h"
 
5
#include "SettingsPage.h"
 
6
 
 
7
#include "Common/StringConvert.h"
 
8
 
 
9
#include "Windows/Defs.h"
 
10
#include "Windows/MemoryLock.h"
 
11
 
 
12
#include "RegistryUtils.h"
 
13
#include "HelpUtils.h"
 
14
#include "LangUtils.h"
 
15
#include "ProgramLocation.h"
 
16
 
 
17
using namespace NWindows;
 
18
 
 
19
static CIDLangPair kIDLangPairs[] = 
 
20
{
 
21
  { IDC_SETTINGS_SHOW_DOTS, 0x03010401},
 
22
  { IDC_SETTINGS_SHOW_REAL_FILE_ICONS, 0x03010402},
 
23
  { IDC_SETTINGS_SHOW_SYSTEM_MENU, 0x03010410},
 
24
  { IDC_SETTINGS_FULL_ROW, 0x03010420},
 
25
  { IDC_SETTINGS_SHOW_GRID, 0x03010421},
 
26
  { IDC_SETTINGS_ALTERNATIVE_SELECTION, 0x03010430},
 
27
  { IDC_SETTINGS_LARGE_PAGES, 0x03010440}
 
28
  // { IDC_SETTINGS_SINGLE_CLICK, 0x03010422},
 
29
  // { IDC_SETTINGS_UNDERLINE, 0x03010423}
 
30
};
 
31
 
 
32
static LPCWSTR kEditTopic = L"FM/options.htm#settings";
 
33
 
 
34
extern bool IsLargePageSupported();
 
35
 
 
36
bool CSettingsPage::OnInit()
 
37
{
 
38
  LangSetDlgItemsText(HWND(*this), kIDLangPairs, sizeof(kIDLangPairs) / sizeof(kIDLangPairs[0]));
 
39
 
 
40
  CheckButton(IDC_SETTINGS_SHOW_DOTS, ReadShowDots());
 
41
  CheckButton(IDC_SETTINGS_SHOW_SYSTEM_MENU, ReadShowSystemMenu());
 
42
  CheckButton(IDC_SETTINGS_SHOW_REAL_FILE_ICONS, ReadShowRealFileIcons());
 
43
 
 
44
  CheckButton(IDC_SETTINGS_FULL_ROW, ReadFullRow());
 
45
  CheckButton(IDC_SETTINGS_SHOW_GRID, ReadShowGrid());
 
46
  CheckButton(IDC_SETTINGS_ALTERNATIVE_SELECTION, ReadAlternativeSelection());
 
47
  if (IsLargePageSupported())
 
48
    CheckButton(IDC_SETTINGS_LARGE_PAGES, ReadLockMemoryEnable());
 
49
  else
 
50
    EnableItem(IDC_SETTINGS_LARGE_PAGES, false);
 
51
  // CheckButton(IDC_SETTINGS_SINGLE_CLICK, ReadSingleClick());
 
52
  // CheckButton(IDC_SETTINGS_UNDERLINE, ReadUnderline());
 
53
 
 
54
  // EnableSubItems();
 
55
 
 
56
  return CPropertyPage::OnInit();
 
57
}
 
58
 
 
59
/*
 
60
void CSettingsPage::EnableSubItems()
 
61
{
 
62
  EnableItem(IDC_SETTINGS_UNDERLINE, IsButtonCheckedBool(IDC_SETTINGS_SINGLE_CLICK));
 
63
}
 
64
*/
 
65
 
 
66
LONG CSettingsPage::OnApply()
 
67
{
 
68
  SaveShowDots(IsButtonCheckedBool(IDC_SETTINGS_SHOW_DOTS));
 
69
  SaveShowSystemMenu(IsButtonCheckedBool(IDC_SETTINGS_SHOW_SYSTEM_MENU));
 
70
  SaveShowRealFileIcons(IsButtonCheckedBool(IDC_SETTINGS_SHOW_REAL_FILE_ICONS));
 
71
 
 
72
  SaveFullRow(IsButtonCheckedBool(IDC_SETTINGS_FULL_ROW));
 
73
  SaveShowGrid(IsButtonCheckedBool(IDC_SETTINGS_SHOW_GRID));
 
74
  SaveAlternativeSelection(IsButtonCheckedBool(IDC_SETTINGS_ALTERNATIVE_SELECTION));
 
75
  if (IsLargePageSupported())
 
76
  {
 
77
    bool enable = IsButtonCheckedBool(IDC_SETTINGS_LARGE_PAGES);
 
78
    NSecurity::EnableLockMemoryPrivilege(enable);
 
79
    SaveLockMemoryEnable(enable);
 
80
  }
 
81
  
 
82
  // SaveSingleClick(IsButtonCheckedBool(IDC_SETTINGS_SINGLE_CLICK));
 
83
  // SaveUnderline(IsButtonCheckedBool(IDC_SETTINGS_UNDERLINE));
 
84
 
 
85
  return PSNRET_NOERROR;
 
86
}
 
87
 
 
88
void CSettingsPage::OnNotifyHelp()
 
89
{
 
90
  ShowHelpWindow(NULL, kEditTopic); // change it
 
91
}
 
92
 
 
93
bool CSettingsPage::OnButtonClicked(int buttonID, HWND buttonHWND)
 
94
 
95
  switch(buttonID)
 
96
  {
 
97
    /*
 
98
    case IDC_SETTINGS_SINGLE_CLICK:
 
99
      EnableSubItems();
 
100
      break;
 
101
    */
 
102
    case IDC_SETTINGS_SHOW_DOTS:
 
103
    case IDC_SETTINGS_SHOW_SYSTEM_MENU:
 
104
    case IDC_SETTINGS_SHOW_REAL_FILE_ICONS:
 
105
    case IDC_SETTINGS_FULL_ROW:
 
106
    case IDC_SETTINGS_SHOW_GRID:
 
107
    case IDC_SETTINGS_ALTERNATIVE_SELECTION:
 
108
    case IDC_SETTINGS_LARGE_PAGES:
 
109
      Changed();
 
110
      return true;
 
111
  }
 
112
  return CPropertyPage::OnButtonClicked(buttonID, buttonHWND);
 
113
}