KiCad PCB EDA Suite
PANEL_COMMON_SETTINGS Class Reference

#include <panel_common_settings.h>

Inheritance diagram for PANEL_COMMON_SETTINGS:
PANEL_COMMON_SETTINGS_BASE RESETTABLE_PANEL

Public Member Functions

 PANEL_COMMON_SETTINGS (DIALOG_SHIM *aDialog, wxWindow *aParent)
 
 ~PANEL_COMMON_SETTINGS () override
 
void ResetPanel () override
 Reset the contents of this panel. More...
 
virtual wxString GetResetTooltip ()
 Get the tooltip the reset button should display when showing this panel. More...
 

Protected Member Functions

bool TransferDataFromWindow () override
 
bool TransferDataToWindow () override
 
void applySettingsToPanel (COMMON_SETTINGS &aSettings)
 
void OnScaleSlider (wxScrollEvent &aEvent) override
 
void OnIconScaleAuto (wxCommandEvent &aEvent) override
 
void OnTextEditorClick (wxCommandEvent &event) override
 
void OnPDFViewerClick (wxCommandEvent &event) override
 
void onUpdateUIPdfPath (wxUpdateUIEvent &event) override
 
void OnCanvasScaleChange (wxCommandEvent &aEvent)
 Event fired when the canvas scale field is modified. More...
 
void OnCanvasScaleAuto (wxCommandEvent &aEvent) override
 Event fired when the canvas auto-scale option is changed. More...
 

Protected Attributes

DIALOG_SHIMm_dialog
 
int m_last_scale
 saved icon scale when Auto selected More...
 
wxStaticText * m_staticTextautosave
 
wxSpinCtrl * m_SaveTime
 
wxStaticText * m_staticTextFileHistorySize
 
wxSpinCtrl * m_fileHistorySize
 
wxStaticText * m_staticTextClear3DCache
 
wxSpinCtrl * m_Clear3DCacheFilesOlder
 
wxStaticText * m_staticTextDays
 
wxChoice * m_antialiasing
 
wxStaticText * m_antialiasingFallbackLabel
 
wxChoice * m_antialiasingFallback
 
wxTextCtrl * m_textEditorPath
 
wxBitmapButton * m_textEditorBtn
 
wxRadioButton * m_defaultPDFViewer
 
wxRadioButton * m_otherPDFViewer
 
wxTextCtrl * m_PDFViewerPath
 
wxBitmapButton * m_pdfViewerBtn
 
wxStaticText * m_staticTexticonscale
 
STEPPED_SLIDERm_iconScaleSlider
 
wxCheckBox * m_iconScaleAuto
 
wxStaticText * m_staticTextCanvasScale
 
wxSpinCtrlDouble * m_canvasScaleCtrl
 
wxCheckBox * m_canvasScaleAuto
 
wxCheckBox * m_checkBoxIconsInMenus
 
wxStaticText * m_stIconTheme
 
wxRadioButton * m_rbIconThemeLight
 
wxRadioButton * m_rbIconThemeDark
 
wxRadioButton * m_rbIconThemeAuto
 
wxCheckBox * m_warpMouseOnMove
 
wxCheckBox * m_NonImmediateActions
 
wxCheckBox * m_cbBackupEnabled
 
wxCheckBox * m_cbBackupAutosave
 
wxStaticText * m_staticText9
 
wxSpinCtrl * m_backupLimitTotalFiles
 
wxStaticText * m_staticText10
 
wxSpinCtrl * m_backupLimitDailyFiles
 
wxStaticText * m_staticText11
 
wxSpinCtrl * m_backupMinInterval
 
wxStaticText * m_staticText15
 
wxStaticText * m_staticText16
 
wxSpinCtrl * m_backupLimitTotalSize
 
wxStaticText * m_staticText17
 
wxCheckBox * m_cbRememberOpenFiles
 

Detailed Description

Definition at line 34 of file panel_common_settings.h.

Constructor & Destructor Documentation

◆ PANEL_COMMON_SETTINGS()

PANEL_COMMON_SETTINGS::PANEL_COMMON_SETTINGS ( DIALOG_SHIM aDialog,
wxWindow *  aParent 
)

Definition at line 42 of file panel_common_settings.cpp.

43  : PANEL_COMMON_SETTINGS_BASE( aParent ),
44  m_dialog( aDialog ),
45  m_last_scale( -1 )
46 {
52 
53  m_canvasScaleCtrl->SetToolTip(
54  _( "Set the scale for the canvas."
55  "\n\n"
56  "On high-DPI displays on some platforms, KiCad cannot determine the "
57  "scaling factor. In this case you may need to set this to a value to "
58  "match your system's DPI scaling. 2.0 is a common value. "
59  "\n\n"
60  "If this does not match the system DPI scaling, the canvas will "
61  "not match the window size and cursor position." ) );
62 
63  m_canvasScaleAuto->SetToolTip(
64  _( "Use an automatic value for the canvas scale."
65  "\n\n"
66  "On some platforms, the automatic value is incorrect and should be "
67  "set manually." ) );
68 
70 
71 #ifdef __WXMAC__
72  // Cairo canvas doesn't work on Mac, so no need for anti-aliasing options
73  m_antialiasingFallback->Show( false );
74  m_antialiasingFallbackLabel->Show( false );
75 #endif
76 
79 
80  m_canvasScaleCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED,
81  wxCommandEventHandler( PANEL_COMMON_SETTINGS::OnCanvasScaleChange ),
82  nullptr, this );
83 }
void OnCanvasScaleChange(wxCommandEvent &aEvent)
Event fired when the canvas scale field is modified.
static double GetDefaultScaleFactor()
Get the "default" scaling factor to use if not other config is available.
PANEL_COMMON_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
static constexpr int dpi_scaling_precision
static constexpr double dpi_scaling_increment
static double GetMaxScaleFactor()
static double GetMinScaleFactor()
#define _(s)
wxBitmap KiBitmap(BITMAPS aBitmap, int aHeightTag)
Construct a wxBitmap from an image identifier Returns the image from the active theme if the image ha...
Definition: bitmap.cpp:105
int m_last_scale
saved icon scale when Auto selected
void SetStep(int aSize)
Set the step size.

References _, dpi_scaling_increment, dpi_scaling_precision, DPI_SCALING::GetDefaultScaleFactor(), DPI_SCALING::GetMaxScaleFactor(), DPI_SCALING::GetMinScaleFactor(), KiBitmap(), PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallback, PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallbackLabel, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl, PANEL_COMMON_SETTINGS_BASE::m_iconScaleSlider, PANEL_COMMON_SETTINGS_BASE::m_pdfViewerBtn, PANEL_COMMON_SETTINGS_BASE::m_textEditorBtn, OnCanvasScaleChange(), STEPPED_SLIDER::SetStep(), and small_folder.

◆ ~PANEL_COMMON_SETTINGS()

PANEL_COMMON_SETTINGS::~PANEL_COMMON_SETTINGS ( )
override

Definition at line 86 of file panel_common_settings.cpp.

87 {
88  m_canvasScaleCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED,
89  wxCommandEventHandler( PANEL_COMMON_SETTINGS::OnCanvasScaleChange ),
90  nullptr, this );
91 }
void OnCanvasScaleChange(wxCommandEvent &aEvent)
Event fired when the canvas scale field is modified.

References PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl, and OnCanvasScaleChange().

Member Function Documentation

◆ applySettingsToPanel()

void PANEL_COMMON_SETTINGS::applySettingsToPanel ( COMMON_SETTINGS aSettings)
protected

Definition at line 178 of file panel_common_settings.cpp.

179 {
180  int timevalue = aSettings.m_System.autosave_interval;
181  wxString msg;
182 
183  msg << timevalue / 60;
184  m_SaveTime->SetValue( msg );
185 
186  m_fileHistorySize->SetValue( aSettings.m_System.file_history_size );
187 
188  m_antialiasing->SetSelection( aSettings.m_Graphics.opengl_aa_mode );
189  m_antialiasingFallback->SetSelection( aSettings.m_Graphics.cairo_aa_mode );
190 
192 
193  int icon_scale_fourths = aSettings.m_Appearance.icon_scale;
194 
195  if( icon_scale_fourths <= 0 )
196  {
197  m_iconScaleAuto->SetValue( true );
198  m_iconScaleSlider->SetValue( 25 * KiIconScale( GetParent() ) );
199  }
200  else
201  {
202  m_iconScaleAuto->SetValue( false );
203  m_iconScaleSlider->SetValue( icon_scale_fourths * 25 );
204  }
205 
206  {
207  const DPI_SCALING dpi( &aSettings, this );
208  m_canvasScaleCtrl->SetValue( dpi.GetScaleFactor() );
209  m_canvasScaleAuto->SetValue( dpi.GetCanvasIsAutoScaled() );
210  }
211 
212  switch( aSettings.m_Appearance.icon_theme )
213  {
214  case ICON_THEME::LIGHT: m_rbIconThemeLight->SetValue( true ); break;
215  case ICON_THEME::DARK: m_rbIconThemeDark->SetValue( true ); break;
216  case ICON_THEME::AUTO: m_rbIconThemeAuto->SetValue( true ); break;
217  }
218 
220 
221  m_warpMouseOnMove->SetValue( aSettings.m_Input.warp_mouse_on_move );
222  m_NonImmediateActions->SetValue( !aSettings.m_Input.immediate_actions );
223 
224  m_cbRememberOpenFiles->SetValue( aSettings.m_Session.remember_open_files );
225 
226  m_cbBackupEnabled->SetValue( aSettings.m_Backup.enabled );
227  m_cbBackupAutosave->SetValue( aSettings.m_Backup.backup_on_autosave );
228  m_backupLimitTotalFiles->SetValue( aSettings.m_Backup.limit_total_files );
229  m_backupLimitDailyFiles->SetValue( aSettings.m_Backup.limit_daily_files );
230  m_backupMinInterval->SetValue( aSettings.m_Backup.min_interval / 60 );
231  m_backupLimitTotalSize->SetValue( aSettings.m_Backup.limit_total_size / ( 1024 * 1024 ) );
232 }
unsigned long long limit_total_size
Maximum total size of backups (bytes), 0 for unlimited.
int KiIconScale(wxWindow *aWindow)
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScale...
Definition: bitmap.cpp:122
bool enabled
Automatically back up the project when files are saved.
AUTO_BACKUP m_Backup
APPEARANCE m_Appearance
Class to handle configuration and automatic determination of the DPI scale to use for canvases.
Definition: dpi_scaling.h:36
int min_interval
Minimum time, in seconds, between subsequent backups.
bool backup_on_autosave
Trigger a backup on autosave.
int limit_daily_files
Maximum files to keep per day, 0 for unlimited.
int limit_total_files
Maximum number of backup archives to retain.

References AUTO, COMMON_SETTINGS::SYSTEM::autosave_interval, COMMON_SETTINGS::AUTO_BACKUP::backup_on_autosave, COMMON_SETTINGS::GRAPHICS::cairo_aa_mode, COMMON_SETTINGS::SYSTEM::clear_3d_cache_interval, DARK, COMMON_SETTINGS::AUTO_BACKUP::enabled, COMMON_SETTINGS::SYSTEM::file_history_size, DPI_SCALING::GetCanvasIsAutoScaled(), DPI_SCALING::GetScaleFactor(), COMMON_SETTINGS::APPEARANCE::icon_scale, COMMON_SETTINGS::APPEARANCE::icon_theme, COMMON_SETTINGS::INPUT::immediate_actions, KiIconScale(), LIGHT, COMMON_SETTINGS::AUTO_BACKUP::limit_daily_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_size, PANEL_COMMON_SETTINGS_BASE::m_antialiasing, PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallback, COMMON_SETTINGS::m_Appearance, COMMON_SETTINGS::m_Backup, PANEL_COMMON_SETTINGS_BASE::m_backupLimitDailyFiles, PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalFiles, PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalSize, PANEL_COMMON_SETTINGS_BASE::m_backupMinInterval, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl, PANEL_COMMON_SETTINGS_BASE::m_cbBackupAutosave, PANEL_COMMON_SETTINGS_BASE::m_cbBackupEnabled, PANEL_COMMON_SETTINGS_BASE::m_cbRememberOpenFiles, PANEL_COMMON_SETTINGS_BASE::m_checkBoxIconsInMenus, PANEL_COMMON_SETTINGS_BASE::m_Clear3DCacheFilesOlder, PANEL_COMMON_SETTINGS_BASE::m_fileHistorySize, COMMON_SETTINGS::m_Graphics, PANEL_COMMON_SETTINGS_BASE::m_iconScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_iconScaleSlider, COMMON_SETTINGS::m_Input, PANEL_COMMON_SETTINGS_BASE::m_NonImmediateActions, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeAuto, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeDark, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeLight, PANEL_COMMON_SETTINGS_BASE::m_SaveTime, COMMON_SETTINGS::m_Session, COMMON_SETTINGS::m_System, PANEL_COMMON_SETTINGS_BASE::m_warpMouseOnMove, COMMON_SETTINGS::AUTO_BACKUP::min_interval, COMMON_SETTINGS::GRAPHICS::opengl_aa_mode, COMMON_SETTINGS::SESSION::remember_open_files, COMMON_SETTINGS::APPEARANCE::use_icons_in_menus, and COMMON_SETTINGS::INPUT::warp_mouse_on_move.

Referenced by ResetPanel(), and TransferDataToWindow().

◆ GetResetTooltip()

virtual wxString RESETTABLE_PANEL::GetResetTooltip ( )
inlinevirtualinherited

Get the tooltip the reset button should display when showing this panel.

Returns
the tooltip

Reimplemented in PANEL_HOTKEYS_EDITOR, and PANEL_COLOR_SETTINGS.

Definition at line 52 of file resettable_panel.h.

53  {
54  return _( "Reset all settings on this page to their default" );
55  }
#define _(s)

References _.

◆ OnCanvasScaleAuto()

void PANEL_COMMON_SETTINGS::OnCanvasScaleAuto ( wxCommandEvent &  aEvent)
overrideprotectedvirtual

Event fired when the canvas auto-scale option is changed.

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 263 of file panel_common_settings.cpp.

264 {
265  const bool automatic = m_canvasScaleAuto->GetValue();
266 
267  if( automatic )
268  {
269  // set the scale to the auto value, without consulting the config
270  DPI_SCALING dpi( nullptr, this );
271 
272  // update the field (no events sent)
273  m_canvasScaleCtrl->SetValue( dpi.GetScaleFactor() );
274  }
275 }
Class to handle configuration and automatic determination of the DPI scale to use for canvases.
Definition: dpi_scaling.h:36

References DPI_SCALING::GetScaleFactor(), PANEL_COMMON_SETTINGS_BASE::m_canvasScaleAuto, and PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl.

◆ OnCanvasScaleChange()

void PANEL_COMMON_SETTINGS::OnCanvasScaleChange ( wxCommandEvent &  aEvent)
protected

Event fired when the canvas scale field is modified.

Definition at line 257 of file panel_common_settings.cpp.

258 {
259  m_canvasScaleAuto->SetValue( false );
260 }

References PANEL_COMMON_SETTINGS_BASE::m_canvasScaleAuto.

Referenced by PANEL_COMMON_SETTINGS(), and ~PANEL_COMMON_SETTINGS().

◆ OnIconScaleAuto()

void PANEL_COMMON_SETTINGS::OnIconScaleAuto ( wxCommandEvent &  aEvent)
overrideprotectedvirtual

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 242 of file panel_common_settings.cpp.

243 {
244  if( m_iconScaleAuto->GetValue() )
245  {
246  m_last_scale = m_iconScaleAuto->GetValue();
247  m_iconScaleSlider->SetValue( 25 * KiIconScale( GetParent() ) );
248  }
249  else
250  {
251  if( m_last_scale >= 0 )
252  m_iconScaleSlider->SetValue( m_last_scale );
253  }
254 }
int KiIconScale(wxWindow *aWindow)
Return the automatic scale factor that would be used for a given window by KiScaledBitmap and KiScale...
Definition: bitmap.cpp:122
int m_last_scale
saved icon scale when Auto selected

References KiIconScale(), PANEL_COMMON_SETTINGS_BASE::m_iconScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_iconScaleSlider, and m_last_scale.

◆ OnPDFViewerClick()

void PANEL_COMMON_SETTINGS::OnPDFViewerClick ( wxCommandEvent &  event)
overrideprotectedvirtual

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 291 of file panel_common_settings.cpp.

292 {
293  wxString mask( wxT( "*" ) );
294 
295 #ifdef __WINDOWS__
296  mask += wxT( ".exe" );
297 #endif
298 
299  wxString wildcard = _( "Executable files (" ) + mask + wxT( ")|" ) + mask;
300 
301  Pgm().ReadPdfBrowserInfos();
302  wxFileName fn = Pgm().GetPdfBrowserName();
303 
304  wxFileDialog dlg( this, _( "Select Preferred PDF Viewer" ), fn.GetPath(), fn.GetFullPath(),
305  wildcard, wxFD_OPEN | wxFD_FILE_MUST_EXIST );
306 
307  if( dlg.ShowModal() == wxID_CANCEL )
308  return;
309 
310  m_otherPDFViewer->SetValue( true );
311  m_PDFViewerPath->SetValue( dlg.GetPath() );
312 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
#define _(s)

References _, PANEL_COMMON_SETTINGS_BASE::m_otherPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_PDFViewerPath, and Pgm().

◆ OnScaleSlider()

void PANEL_COMMON_SETTINGS::OnScaleSlider ( wxScrollEvent &  aEvent)
overrideprotectedvirtual

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 235 of file panel_common_settings.cpp.

236 {
237  m_iconScaleAuto->SetValue( false );
238  aEvent.Skip();
239 }

References PANEL_COMMON_SETTINGS_BASE::m_iconScaleAuto.

◆ OnTextEditorClick()

void PANEL_COMMON_SETTINGS::OnTextEditorClick ( wxCommandEvent &  event)
overrideprotectedvirtual

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 278 of file panel_common_settings.cpp.

279 {
280  // Ask the user to select a new editor, but suggest the current one as the default.
281  wxString editorname = Pgm().AskUserForPreferredEditor( m_textEditorPath->GetValue() );
282 
283  // If we have a new editor name request it to be copied to m_editor_name and saved
284  // to the preferences file. If the user cancelled the dialog then the previous
285  // value will be retained.
286  if( !editorname.IsEmpty() )
287  m_textEditorPath->SetValue( editorname );
288 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106

References PANEL_COMMON_SETTINGS_BASE::m_textEditorPath, and Pgm().

◆ onUpdateUIPdfPath()

void PANEL_COMMON_SETTINGS::onUpdateUIPdfPath ( wxUpdateUIEvent &  event)
overrideprotectedvirtual

Reimplemented from PANEL_COMMON_SETTINGS_BASE.

Definition at line 315 of file panel_common_settings.cpp.

316 {
317  // Used by both the m_pdfViewerBtn and m_PDFViewerPath
318  event.Enable( m_otherPDFViewer->GetValue() );
319 }

References PANEL_COMMON_SETTINGS_BASE::m_otherPDFViewer.

◆ ResetPanel()

void PANEL_COMMON_SETTINGS::ResetPanel ( )
overridevirtual

Reset the contents of this panel.

Implements RESETTABLE_PANEL.

Definition at line 162 of file panel_common_settings.cpp.

163 {
164  COMMON_SETTINGS defaultSettings;
165 
166  defaultSettings.ResetToDefaults();
167 
168  applySettingsToPanel( defaultSettings );
169 
170  // TODO(JE) Move these into COMMON_SETTINGS probably
171  m_textEditorPath->SetValue( defaultSettings.m_System.editor_name );
172  m_defaultPDFViewer->SetValue( defaultSettings.m_System.use_system_pdf_viewer );
173  m_otherPDFViewer->SetValue( !defaultSettings.m_System.use_system_pdf_viewer );
174  m_PDFViewerPath->SetValue( defaultSettings.m_System.pdf_viewer_name );
175 }
void ResetToDefaults()
Resets all parameters to default values.
void applySettingsToPanel(COMMON_SETTINGS &aSettings)

References applySettingsToPanel(), COMMON_SETTINGS::SYSTEM::editor_name, PANEL_COMMON_SETTINGS_BASE::m_defaultPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_otherPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_PDFViewerPath, COMMON_SETTINGS::m_System, PANEL_COMMON_SETTINGS_BASE::m_textEditorPath, COMMON_SETTINGS::SYSTEM::pdf_viewer_name, JSON_SETTINGS::ResetToDefaults(), and COMMON_SETTINGS::SYSTEM::use_system_pdf_viewer.

◆ TransferDataFromWindow()

bool PANEL_COMMON_SETTINGS::TransferDataFromWindow ( )
overrideprotected

Definition at line 110 of file panel_common_settings.cpp.

111 {
112  COMMON_SETTINGS* commonSettings = Pgm().GetCommonSettings();
113 
114  commonSettings->m_System.autosave_interval = m_SaveTime->GetValue() * 60;
115  commonSettings->m_System.file_history_size = m_fileHistorySize->GetValue();
116  commonSettings->m_System.clear_3d_cache_interval = m_Clear3DCacheFilesOlder->GetValue();
117 
118  commonSettings->m_Graphics.opengl_aa_mode = m_antialiasing->GetSelection();
119  commonSettings->m_Graphics.cairo_aa_mode = m_antialiasingFallback->GetSelection();
120 
121  const int scale_fourths = m_iconScaleAuto->GetValue() ? -1 : m_iconScaleSlider->GetValue() / 25;
122  commonSettings->m_Appearance.icon_scale = scale_fourths;
123 
124  {
125  DPI_SCALING dpi( commonSettings, this );
126  dpi.SetDpiConfig( m_canvasScaleAuto->GetValue(), m_canvasScaleCtrl->GetValue() );
127  }
128 
129  if( m_rbIconThemeLight->GetValue() )
130  commonSettings->m_Appearance.icon_theme = ICON_THEME::LIGHT;
131  else if( m_rbIconThemeDark->GetValue() )
132  commonSettings->m_Appearance.icon_theme = ICON_THEME::DARK;
133  else if( m_rbIconThemeAuto->GetValue() )
134  commonSettings->m_Appearance.icon_theme = ICON_THEME::AUTO;
135 
136  commonSettings->m_Appearance.use_icons_in_menus = m_checkBoxIconsInMenus->GetValue();
137 
138  commonSettings->m_Input.immediate_actions = !m_NonImmediateActions->GetValue();
139  commonSettings->m_Input.warp_mouse_on_move = m_warpMouseOnMove->GetValue();
140 
141  commonSettings->m_Backup.enabled = m_cbBackupEnabled->GetValue();
142  commonSettings->m_Backup.backup_on_autosave = m_cbBackupAutosave->GetValue();
143  commonSettings->m_Backup.limit_total_files = m_backupLimitTotalFiles->GetValue();
144  commonSettings->m_Backup.limit_daily_files = m_backupLimitDailyFiles->GetValue();
145  commonSettings->m_Backup.min_interval = m_backupMinInterval->GetValue() * 60;
146  commonSettings->m_Backup.limit_total_size = m_backupLimitTotalSize->GetValue() * 1024 * 1024;
147 
148  commonSettings->m_Session.remember_open_files = m_cbRememberOpenFiles->GetValue();
149 
150  Pgm().SetEditorName( m_textEditorPath->GetValue() );
151 
152  Pgm().SetPdfBrowserName( m_PDFViewerPath->GetValue() );
153  Pgm().ForceSystemPdfBrowser( m_defaultPDFViewer->GetValue() );
154  Pgm().WritePdfBrowserInfos();
155 
156  Pgm().GetSettingsManager().Save( commonSettings );
157 
158  return true;
159 }
unsigned long long limit_total_size
Maximum total size of backups (bytes), 0 for unlimited.
bool enabled
Automatically back up the project when files are saved.
AUTO_BACKUP m_Backup
APPEARANCE m_Appearance
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
Class to handle configuration and automatic determination of the DPI scale to use for canvases.
Definition: dpi_scaling.h:36
int min_interval
Minimum time, in seconds, between subsequent backups.
bool backup_on_autosave
Trigger a backup on autosave.
int limit_daily_files
Maximum files to keep per day, 0 for unlimited.
int limit_total_files
Maximum number of backup archives to retain.

References AUTO, COMMON_SETTINGS::SYSTEM::autosave_interval, COMMON_SETTINGS::AUTO_BACKUP::backup_on_autosave, COMMON_SETTINGS::GRAPHICS::cairo_aa_mode, COMMON_SETTINGS::SYSTEM::clear_3d_cache_interval, DARK, COMMON_SETTINGS::AUTO_BACKUP::enabled, COMMON_SETTINGS::SYSTEM::file_history_size, COMMON_SETTINGS::APPEARANCE::icon_scale, COMMON_SETTINGS::APPEARANCE::icon_theme, COMMON_SETTINGS::INPUT::immediate_actions, LIGHT, COMMON_SETTINGS::AUTO_BACKUP::limit_daily_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_files, COMMON_SETTINGS::AUTO_BACKUP::limit_total_size, PANEL_COMMON_SETTINGS_BASE::m_antialiasing, PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallback, COMMON_SETTINGS::m_Appearance, COMMON_SETTINGS::m_Backup, PANEL_COMMON_SETTINGS_BASE::m_backupLimitDailyFiles, PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalFiles, PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalSize, PANEL_COMMON_SETTINGS_BASE::m_backupMinInterval, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl, PANEL_COMMON_SETTINGS_BASE::m_cbBackupAutosave, PANEL_COMMON_SETTINGS_BASE::m_cbBackupEnabled, PANEL_COMMON_SETTINGS_BASE::m_cbRememberOpenFiles, PANEL_COMMON_SETTINGS_BASE::m_checkBoxIconsInMenus, PANEL_COMMON_SETTINGS_BASE::m_Clear3DCacheFilesOlder, PANEL_COMMON_SETTINGS_BASE::m_defaultPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_fileHistorySize, COMMON_SETTINGS::m_Graphics, PANEL_COMMON_SETTINGS_BASE::m_iconScaleAuto, PANEL_COMMON_SETTINGS_BASE::m_iconScaleSlider, COMMON_SETTINGS::m_Input, PANEL_COMMON_SETTINGS_BASE::m_NonImmediateActions, PANEL_COMMON_SETTINGS_BASE::m_PDFViewerPath, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeAuto, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeDark, PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeLight, PANEL_COMMON_SETTINGS_BASE::m_SaveTime, COMMON_SETTINGS::m_Session, COMMON_SETTINGS::m_System, PANEL_COMMON_SETTINGS_BASE::m_textEditorPath, PANEL_COMMON_SETTINGS_BASE::m_warpMouseOnMove, COMMON_SETTINGS::AUTO_BACKUP::min_interval, COMMON_SETTINGS::GRAPHICS::opengl_aa_mode, Pgm(), COMMON_SETTINGS::SESSION::remember_open_files, DPI_SCALING::SetDpiConfig(), COMMON_SETTINGS::APPEARANCE::use_icons_in_menus, and COMMON_SETTINGS::INPUT::warp_mouse_on_move.

◆ TransferDataToWindow()

bool PANEL_COMMON_SETTINGS::TransferDataToWindow ( )
overrideprotected

Definition at line 94 of file panel_common_settings.cpp.

95 {
96  COMMON_SETTINGS* commonSettings = Pgm().GetCommonSettings();
97 
98  applySettingsToPanel( *commonSettings );
99 
100  // TODO(JE) Move these into COMMON_SETTINGS probably
101  m_textEditorPath->SetValue( Pgm().GetEditorName( false ) );
102  m_defaultPDFViewer->SetValue( Pgm().UseSystemPdfBrowser() );
103  m_otherPDFViewer->SetValue( !Pgm().UseSystemPdfBrowser() );
104  m_PDFViewerPath->SetValue( Pgm().GetPdfBrowserName() );
105 
106  return true;
107 }
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:106
void applySettingsToPanel(COMMON_SETTINGS &aSettings)

References applySettingsToPanel(), PANEL_COMMON_SETTINGS_BASE::m_defaultPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_otherPDFViewer, PANEL_COMMON_SETTINGS_BASE::m_PDFViewerPath, PANEL_COMMON_SETTINGS_BASE::m_textEditorPath, and Pgm().

Member Data Documentation

◆ m_antialiasing

wxChoice* PANEL_COMMON_SETTINGS_BASE::m_antialiasing
protectedinherited

◆ m_antialiasingFallback

wxChoice* PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallback
protectedinherited

◆ m_antialiasingFallbackLabel

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_antialiasingFallbackLabel
protectedinherited

◆ m_backupLimitDailyFiles

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_backupLimitDailyFiles
protectedinherited

◆ m_backupLimitTotalFiles

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalFiles
protectedinherited

◆ m_backupLimitTotalSize

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_backupLimitTotalSize
protectedinherited

◆ m_backupMinInterval

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_backupMinInterval
protectedinherited

◆ m_canvasScaleAuto

◆ m_canvasScaleCtrl

wxSpinCtrlDouble* PANEL_COMMON_SETTINGS_BASE::m_canvasScaleCtrl
protectedinherited

◆ m_cbBackupAutosave

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_cbBackupAutosave
protectedinherited

◆ m_cbBackupEnabled

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_cbBackupEnabled
protectedinherited

◆ m_cbRememberOpenFiles

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_cbRememberOpenFiles
protectedinherited

◆ m_checkBoxIconsInMenus

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_checkBoxIconsInMenus
protectedinherited

◆ m_Clear3DCacheFilesOlder

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_Clear3DCacheFilesOlder
protectedinherited

◆ m_defaultPDFViewer

wxRadioButton* PANEL_COMMON_SETTINGS_BASE::m_defaultPDFViewer
protectedinherited

◆ m_dialog

DIALOG_SHIM* PANEL_COMMON_SETTINGS::m_dialog
protected

Definition at line 64 of file panel_common_settings.h.

◆ m_fileHistorySize

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_fileHistorySize
protectedinherited

◆ m_iconScaleAuto

◆ m_iconScaleSlider

◆ m_last_scale

int PANEL_COMMON_SETTINGS::m_last_scale
protected

saved icon scale when Auto selected

Definition at line 66 of file panel_common_settings.h.

Referenced by OnIconScaleAuto().

◆ m_NonImmediateActions

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_NonImmediateActions
protectedinherited

◆ m_otherPDFViewer

wxRadioButton* PANEL_COMMON_SETTINGS_BASE::m_otherPDFViewer
protectedinherited

◆ m_pdfViewerBtn

wxBitmapButton* PANEL_COMMON_SETTINGS_BASE::m_pdfViewerBtn
protectedinherited

◆ m_PDFViewerPath

◆ m_rbIconThemeAuto

wxRadioButton* PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeAuto
protectedinherited

◆ m_rbIconThemeDark

wxRadioButton* PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeDark
protectedinherited

◆ m_rbIconThemeLight

wxRadioButton* PANEL_COMMON_SETTINGS_BASE::m_rbIconThemeLight
protectedinherited

◆ m_SaveTime

wxSpinCtrl* PANEL_COMMON_SETTINGS_BASE::m_SaveTime
protectedinherited

◆ m_staticText10

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText10
protectedinherited

◆ m_staticText11

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText11
protectedinherited

◆ m_staticText15

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText15
protectedinherited

◆ m_staticText16

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText16
protectedinherited

◆ m_staticText17

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText17
protectedinherited

◆ m_staticText9

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticText9
protectedinherited

◆ m_staticTextautosave

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTextautosave
protectedinherited

◆ m_staticTextCanvasScale

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTextCanvasScale
protectedinherited

◆ m_staticTextClear3DCache

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTextClear3DCache
protectedinherited

◆ m_staticTextDays

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTextDays
protectedinherited

◆ m_staticTextFileHistorySize

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTextFileHistorySize
protectedinherited

◆ m_staticTexticonscale

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_staticTexticonscale
protectedinherited

◆ m_stIconTheme

wxStaticText* PANEL_COMMON_SETTINGS_BASE::m_stIconTheme
protectedinherited

◆ m_textEditorBtn

wxBitmapButton* PANEL_COMMON_SETTINGS_BASE::m_textEditorBtn
protectedinherited

◆ m_textEditorPath

wxTextCtrl* PANEL_COMMON_SETTINGS_BASE::m_textEditorPath
protectedinherited

◆ m_warpMouseOnMove

wxCheckBox* PANEL_COMMON_SETTINGS_BASE::m_warpMouseOnMove
protectedinherited

The documentation for this class was generated from the following files: