You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

472 lines
24 KiB

  1. ///////////////////////////////////////////////////////////////////////////
  2. // C++ code generated with wxFormBuilder (version 4.0.0-0-g0efcecf-dirty)
  3. // http://www.wxformbuilder.org/
  4. //
  5. // PLEASE DO *NOT* EDIT THIS FILE!
  6. ///////////////////////////////////////////////////////////////////////////
  7. #include "widgets/std_bitmap_button.h"
  8. #include "panel_common_settings_base.h"
  9. ///////////////////////////////////////////////////////////////////////////
  10. PANEL_COMMON_SETTINGS_BASE::PANEL_COMMON_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : RESETTABLE_PANEL( parent, id, pos, size, style, name )
  11. {
  12. wxBoxSizer* bPanelSizer;
  13. bPanelSizer = new wxBoxSizer( wxHORIZONTAL );
  14. wxBoxSizer* bLeftSizer;
  15. bLeftSizer = new wxBoxSizer( wxVERTICAL );
  16. m_staticText20 = new wxStaticText( this, wxID_ANY, _("Antialiasing"), wxDefaultPosition, wxDefaultSize, 0 );
  17. m_staticText20->Wrap( -1 );
  18. bLeftSizer->Add( m_staticText20, 0, wxTOP|wxRIGHT|wxLEFT|wxEXPAND, 13 );
  19. m_staticline3 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  20. bLeftSizer->Add( m_staticline3, 0, wxEXPAND|wxBOTTOM, 5 );
  21. wxBoxSizer* bAntialiasingSizer;
  22. bAntialiasingSizer = new wxBoxSizer( wxVERTICAL );
  23. wxGridBagSizer* gbSizer11;
  24. gbSizer11 = new wxGridBagSizer( 6, 4 );
  25. gbSizer11->SetFlexibleDirection( wxBOTH );
  26. gbSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  27. gbSizer11->SetEmptyCellSize( wxSize( -1,2 ) );
  28. wxStaticText* antialiasingLabel;
  29. antialiasingLabel = new wxStaticText( this, wxID_ANY, _("Accelerated graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
  30. antialiasingLabel->Wrap( -1 );
  31. gbSizer11->Add( antialiasingLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  32. wxString m_antialiasingChoices[] = { _("No Antialiasing"), _("Fast Antialiasing"), _("High Quality Antialiasing") };
  33. int m_antialiasingNChoices = sizeof( m_antialiasingChoices ) / sizeof( wxString );
  34. m_antialiasing = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingNChoices, m_antialiasingChoices, 0 );
  35. m_antialiasing->SetSelection( 0 );
  36. gbSizer11->Add( m_antialiasing, wxGBPosition( 0, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  37. m_antialiasingFallbackLabel = new wxStaticText( this, wxID_ANY, _("Fallback graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
  38. m_antialiasingFallbackLabel->Wrap( -1 );
  39. gbSizer11->Add( m_antialiasingFallbackLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
  40. wxString m_antialiasingFallbackChoices[] = { _("No Antialiasing"), _("Fast Antialiasing"), _("High Quality Antialiasing") };
  41. int m_antialiasingFallbackNChoices = sizeof( m_antialiasingFallbackChoices ) / sizeof( wxString );
  42. m_antialiasingFallback = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_antialiasingFallbackNChoices, m_antialiasingFallbackChoices, 0 );
  43. m_antialiasingFallback->SetSelection( 0 );
  44. gbSizer11->Add( m_antialiasingFallback, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
  45. gbSizer11->AddGrowableCol( 1 );
  46. bAntialiasingSizer->Add( gbSizer11, 0, wxTOP|wxBOTTOM, 5 );
  47. bLeftSizer->Add( bAntialiasingSizer, 0, wxTOP|wxLEFT|wxEXPAND, 5 );
  48. bLeftSizer->Add( 0, 15, 0, 0, 5 );
  49. m_staticText21 = new wxStaticText( this, wxID_ANY, _("Helper Applications"), wxDefaultPosition, wxDefaultSize, 0 );
  50. m_staticText21->Wrap( -1 );
  51. bLeftSizer->Add( m_staticText21, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
  52. m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  53. bLeftSizer->Add( m_staticline2, 0, wxEXPAND|wxBOTTOM, 5 );
  54. wxBoxSizer* bHelperAppsSizer;
  55. bHelperAppsSizer = new wxBoxSizer( wxVERTICAL );
  56. wxBoxSizer* bSizer61;
  57. bSizer61 = new wxBoxSizer( wxHORIZONTAL );
  58. wxStaticText* textEditorLabel;
  59. textEditorLabel = new wxStaticText( this, wxID_ANY, _("Text editor:"), wxDefaultPosition, wxDefaultSize, 0 );
  60. textEditorLabel->Wrap( -1 );
  61. bSizer61->Add( textEditorLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  62. m_textEditorPath = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  63. bSizer61->Add( m_textEditorPath, 1, wxALIGN_CENTER_VERTICAL, 5 );
  64. m_textEditorBtn = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
  65. bSizer61->Add( m_textEditorBtn, 0, wxALIGN_CENTER_VERTICAL, 5 );
  66. bHelperAppsSizer->Add( bSizer61, 0, wxTOP|wxRIGHT|wxEXPAND, 5 );
  67. bHelperAppsSizer->Add( 0, 12, 0, wxEXPAND, 5 );
  68. wxBoxSizer* bSizer8;
  69. bSizer8 = new wxBoxSizer( wxVERTICAL );
  70. m_defaultPDFViewer = new wxRadioButton( this, wxID_ANY, _("System default PDF viewer"), wxDefaultPosition, wxDefaultSize, 0 );
  71. bSizer8->Add( m_defaultPDFViewer, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
  72. bHelperAppsSizer->Add( bSizer8, 0, wxBOTTOM|wxEXPAND, 3 );
  73. wxBoxSizer* bSizer7;
  74. bSizer7 = new wxBoxSizer( wxHORIZONTAL );
  75. m_otherPDFViewer = new wxRadioButton( this, wxID_ANY, _("Other:"), wxDefaultPosition, wxDefaultSize, 0 );
  76. bSizer7->Add( m_otherPDFViewer, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  77. m_PDFViewerPath = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  78. bSizer7->Add( m_PDFViewerPath, 1, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
  79. m_pdfViewerBtn = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
  80. bSizer7->Add( m_pdfViewerBtn, 0, wxALIGN_CENTER_VERTICAL, 5 );
  81. bHelperAppsSizer->Add( bSizer7, 0, wxBOTTOM|wxRIGHT|wxEXPAND, 5 );
  82. bLeftSizer->Add( bHelperAppsSizer, 0, wxTOP|wxLEFT|wxEXPAND, 5 );
  83. bLeftSizer->Add( 0, 15, 0, 0, 5 );
  84. m_staticText22 = new wxStaticText( this, wxID_ANY, _("User Interface"), wxDefaultPosition, wxDefaultSize, 0 );
  85. m_staticText22->Wrap( -1 );
  86. bLeftSizer->Add( m_staticText22, 0, wxTOP|wxRIGHT|wxLEFT, 13 );
  87. m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  88. bLeftSizer->Add( m_staticline1, 0, wxEXPAND|wxBOTTOM, 5 );
  89. wxBoxSizer* bUserInterfaceSizer;
  90. bUserInterfaceSizer = new wxBoxSizer( wxVERTICAL );
  91. wxBoxSizer* bSizer14;
  92. bSizer14 = new wxBoxSizer( wxVERTICAL );
  93. m_checkBoxIconsInMenus = new wxCheckBox( this, wxID_ANY, _("Show icons in menus"), wxDefaultPosition, wxDefaultSize, 0 );
  94. bSizer14->Add( m_checkBoxIconsInMenus, 0, wxALL, 5 );
  95. m_showScrollbars = new wxCheckBox( this, wxID_ANY, _("Show scrollbars in editors"), wxDefaultPosition, wxDefaultSize, 0 );
  96. m_showScrollbars->SetValue(true);
  97. m_showScrollbars->SetToolTip( _("This change takes effect when relaunching the editor.") );
  98. bSizer14->Add( m_showScrollbars, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
  99. m_focusFollowSchPcb = new wxCheckBox( this, wxID_ANY, _("Focus follows mouse between schematic and PCB editors"), wxDefaultPosition, wxDefaultSize, 0 );
  100. m_focusFollowSchPcb->SetToolTip( _("If the mouse cursor is moved over the canvas of a schematic or PCB editor window, that window is raised.") );
  101. bSizer14->Add( m_focusFollowSchPcb, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
  102. m_hotkeyFeedback = new wxCheckBox( this, wxID_ANY, _("Show popup indicator when toggling settings with hotkeys"), wxDefaultPosition, wxDefaultSize, 0 );
  103. m_hotkeyFeedback->SetToolTip( _("When enabled, certain hotkeys that cycle between settings will show a popup indicator briefly to indicate the change in settings.") );
  104. bSizer14->Add( m_hotkeyFeedback, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
  105. m_gridStriping = new wxCheckBox( this, wxID_ANY, _("Use alternating row colors in tables"), wxDefaultPosition, wxDefaultSize, 0 );
  106. m_gridStriping->SetToolTip( _("When enabled, use a different color for every other table row") );
  107. bSizer14->Add( m_gridStriping, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
  108. bUserInterfaceSizer->Add( bSizer14, 0, wxEXPAND, 5 );
  109. wxBoxSizer* bSizerIconsTheme;
  110. bSizerIconsTheme = new wxBoxSizer( wxHORIZONTAL );
  111. m_stIconTheme = new wxStaticText( this, wxID_ANY, _("Icon theme:"), wxDefaultPosition, wxDefaultSize, 0 );
  112. m_stIconTheme->Wrap( -1 );
  113. bSizerIconsTheme->Add( m_stIconTheme, 0, wxALL, 5 );
  114. m_rbIconThemeLight = new wxRadioButton( this, wxID_ANY, _("Light"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
  115. m_rbIconThemeLight->SetToolTip( _("Use icons designed for light window backgrounds") );
  116. bSizerIconsTheme->Add( m_rbIconThemeLight, 0, wxALL, 5 );
  117. m_rbIconThemeDark = new wxRadioButton( this, wxID_ANY, _("Dark"), wxDefaultPosition, wxDefaultSize, 0 );
  118. m_rbIconThemeDark->SetToolTip( _("Use icons designed for dark window backgrounds") );
  119. bSizerIconsTheme->Add( m_rbIconThemeDark, 0, wxALL, 5 );
  120. m_rbIconThemeAuto = new wxRadioButton( this, wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 );
  121. m_rbIconThemeAuto->SetValue( true );
  122. m_rbIconThemeAuto->SetToolTip( _("Automatically choose light or dark icons based on the system color theme") );
  123. bSizerIconsTheme->Add( m_rbIconThemeAuto, 0, wxALL, 5 );
  124. bUserInterfaceSizer->Add( bSizerIconsTheme, 0, wxEXPAND, 5 );
  125. wxBoxSizer* bSizerToolbarSize;
  126. bSizerToolbarSize = new wxBoxSizer( wxHORIZONTAL );
  127. m_stToolbarIconSize = new wxStaticText( this, wxID_ANY, _("Toolbar icon size:"), wxDefaultPosition, wxDefaultSize, 0 );
  128. m_stToolbarIconSize->Wrap( -1 );
  129. bSizerToolbarSize->Add( m_stToolbarIconSize, 0, wxALL, 5 );
  130. m_rbIconSizeSmall = new wxRadioButton( this, wxID_ANY, _("Small"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
  131. m_rbIconSizeSmall->SetToolTip( _("Use compact icons in the toolbars") );
  132. bSizerToolbarSize->Add( m_rbIconSizeSmall, 0, wxALL, 5 );
  133. m_rbIconSizeNormal = new wxRadioButton( this, wxID_ANY, _("Normal"), wxDefaultPosition, wxDefaultSize, 0 );
  134. m_rbIconSizeNormal->SetToolTip( _("Use the default KiCad icon size in the toolbars") );
  135. bSizerToolbarSize->Add( m_rbIconSizeNormal, 0, wxALL, 5 );
  136. m_rbIconSizeLarge = new wxRadioButton( this, wxID_ANY, _("Large"), wxDefaultPosition, wxDefaultSize, 0 );
  137. m_rbIconSizeLarge->SetToolTip( _("Use larger icons in the toolbars") );
  138. bSizerToolbarSize->Add( m_rbIconSizeLarge, 0, wxALL, 5 );
  139. bUserInterfaceSizer->Add( bSizerToolbarSize, 0, wxEXPAND, 5 );
  140. m_gbUserInterface = new wxGridBagSizer( 5, 0 );
  141. m_gbUserInterface->SetFlexibleDirection( wxVERTICAL );
  142. m_gbUserInterface->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
  143. m_staticTextCanvasScale = new wxStaticText( this, wxID_ANY, _("Canvas scale:"), wxDefaultPosition, wxDefaultSize, 0 );
  144. m_staticTextCanvasScale->Wrap( -1 );
  145. m_gbUserInterface->Add( m_staticTextCanvasScale, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  146. m_canvasScaleCtrl = new wxSpinCtrlDouble( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0, 1 );
  147. m_canvasScaleCtrl->SetDigits( 0 );
  148. m_gbUserInterface->Add( m_canvasScaleCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  149. m_canvasScaleAuto = new wxCheckBox( this, wxID_ANY, _("Automatic"), wxDefaultPosition, wxDefaultSize, 0 );
  150. m_gbUserInterface->Add( m_canvasScaleAuto, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
  151. bUserInterfaceSizer->Add( m_gbUserInterface, 0, wxTOP|wxBOTTOM|wxLEFT|wxEXPAND, 5 );
  152. bUserInterfaceSizer->Add( 0, 10, 0, wxEXPAND, 5 );
  153. m_scaleFonts = new wxCheckBox( this, wxID_ANY, _("Apply icon scaling to fonts"), wxDefaultPosition, wxDefaultSize, 0 );
  154. bUserInterfaceSizer->Add( m_scaleFonts, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
  155. m_fontScalingHelp = new wxStaticText( this, wxID_ANY, _("(This workaround will improve some GTK HiDPI font scaling issues.)"), wxDefaultPosition, wxDefaultSize, 0 );
  156. m_fontScalingHelp->Wrap( -1 );
  157. bUserInterfaceSizer->Add( m_fontScalingHelp, 0, wxBOTTOM|wxLEFT, 8 );
  158. wxBoxSizer* bSizerHighContrast;
  159. bSizerHighContrast = new wxBoxSizer( wxHORIZONTAL );
  160. m_highContrastLabel = new wxStaticText( this, wxID_ANY, _("High-contrast mode dimming factor:"), wxDefaultPosition, wxDefaultSize, 0 );
  161. m_highContrastLabel->Wrap( -1 );
  162. bSizerHighContrast->Add( m_highContrastLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  163. m_highContrastCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
  164. bSizerHighContrast->Add( m_highContrastCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
  165. m_highContrastUnits = new wxStaticText( this, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
  166. m_highContrastUnits->Wrap( -1 );
  167. bSizerHighContrast->Add( m_highContrastUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
  168. bUserInterfaceSizer->Add( bSizerHighContrast, 0, wxBOTTOM|wxEXPAND, 5 );
  169. bLeftSizer->Add( bUserInterfaceSizer, 0, wxTOP|wxLEFT|wxEXPAND, 5 );
  170. bPanelSizer->Add( bLeftSizer, 0, wxRIGHT, 20 );
  171. wxBoxSizer* rightSizer;
  172. rightSizer = new wxBoxSizer( wxVERTICAL );
  173. m_staticText23 = new wxStaticText( this, wxID_ANY, _("Editing"), wxDefaultPosition, wxDefaultSize, 0 );
  174. m_staticText23->Wrap( -1 );
  175. rightSizer->Add( m_staticText23, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 13 );
  176. m_staticline6 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  177. rightSizer->Add( m_staticline6, 0, wxEXPAND|wxBOTTOM, 5 );
  178. wxBoxSizer* bEditingSizer;
  179. bEditingSizer = new wxBoxSizer( wxVERTICAL );
  180. m_warpMouseOnMove = new wxCheckBox( this, wxID_ANY, _("Warp mouse to origin of moved object"), wxDefaultPosition, wxDefaultSize, 0 );
  181. m_warpMouseOnMove->SetValue(true);
  182. bEditingSizer->Add( m_warpMouseOnMove, 0, wxALL, 5 );
  183. m_NonImmediateActions = new wxCheckBox( this, wxID_ANY, _("First hotkey selects tool"), wxDefaultPosition, wxDefaultSize, 0 );
  184. m_NonImmediateActions->SetToolTip( _("If not checked, hotkeys will immediately perform an action even if the relevant tool was not previously selected.") );
  185. bEditingSizer->Add( m_NonImmediateActions, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
  186. rightSizer->Add( bEditingSizer, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
  187. rightSizer->Add( 0, 15, 0, wxEXPAND, 5 );
  188. m_staticText24 = new wxStaticText( this, wxID_ANY, _("Session"), wxDefaultPosition, wxDefaultSize, 0 );
  189. m_staticText24->Wrap( -1 );
  190. rightSizer->Add( m_staticText24, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 13 );
  191. m_staticline5 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  192. rightSizer->Add( m_staticline5, 0, wxEXPAND|wxBOTTOM, 5 );
  193. wxBoxSizer* bSessionSizer;
  194. bSessionSizer = new wxBoxSizer( wxVERTICAL );
  195. m_cbRememberOpenFiles = new wxCheckBox( this, wxID_ANY, _("Remember open files for next project launch"), wxDefaultPosition, wxDefaultSize, 0 );
  196. m_cbRememberOpenFiles->SetValue(true);
  197. m_cbRememberOpenFiles->SetToolTip( _("If checked, launching a project will also launch tools such as the schematic and board editors with previously open files") );
  198. bSessionSizer->Add( m_cbRememberOpenFiles, 0, wxALL, 5 );
  199. bSessionSizer->Add( 0, 5, 0, 0, 5 );
  200. wxGridBagSizer* gbSizer1;
  201. gbSizer1 = new wxGridBagSizer( 4, 5 );
  202. gbSizer1->SetFlexibleDirection( wxBOTH );
  203. gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  204. gbSizer1->SetEmptyCellSize( wxSize( -1,2 ) );
  205. m_staticTextautosave = new wxStaticText( this, wxID_ANY, _("&Auto save:"), wxDefaultPosition, wxDefaultSize, 0 );
  206. m_staticTextautosave->Wrap( -1 );
  207. gbSizer1->Add( m_staticTextautosave, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
  208. m_SaveTime = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 10, 0 );
  209. m_SaveTime->SetToolTip( _("Delay after the first change to create a backup file of the board on disk.\nIf set to 0, auto backup is disabled") );
  210. gbSizer1->Add( m_SaveTime, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  211. wxStaticText* minutesLabel;
  212. minutesLabel = new wxStaticText( this, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
  213. minutesLabel->Wrap( -1 );
  214. gbSizer1->Add( minutesLabel, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  215. m_staticTextFileHistorySize = new wxStaticText( this, wxID_ANY, _("File history size:"), wxDefaultPosition, wxDefaultSize, 0 );
  216. m_staticTextFileHistorySize->Wrap( -1 );
  217. gbSizer1->Add( m_staticTextFileHistorySize, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
  218. m_fileHistorySize = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 100, 0 );
  219. gbSizer1->Add( m_fileHistorySize, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  220. m_staticTextClear3DCache = new wxStaticText( this, wxID_ANY, _("3D cache file duration:"), wxDefaultPosition, wxDefaultSize, 0 );
  221. m_staticTextClear3DCache->Wrap( -1 );
  222. gbSizer1->Add( m_staticTextClear3DCache, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
  223. m_Clear3DCacheFilesOlder = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 120, 30 );
  224. m_Clear3DCacheFilesOlder->SetToolTip( _("3D cache files older than this are deleted.\nIf set to 0, cache clearing is disabled") );
  225. gbSizer1->Add( m_Clear3DCacheFilesOlder, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  226. m_staticTextDays = new wxStaticText( this, wxID_ANY, _("days"), wxDefaultPosition, wxDefaultSize, 0 );
  227. m_staticTextDays->Wrap( -1 );
  228. gbSizer1->Add( m_staticTextDays, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
  229. gbSizer1->AddGrowableCol( 1 );
  230. bSessionSizer->Add( gbSizer1, 0, wxALL, 5 );
  231. rightSizer->Add( bSessionSizer, 0, wxTOP|wxLEFT|wxEXPAND, 5 );
  232. rightSizer->Add( 0, 15, 0, wxEXPAND, 5 );
  233. m_staticText25 = new wxStaticText( this, wxID_ANY, _("Project Backup"), wxDefaultPosition, wxDefaultSize, 0 );
  234. m_staticText25->Wrap( -1 );
  235. rightSizer->Add( m_staticText25, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 13 );
  236. m_staticline4 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
  237. rightSizer->Add( m_staticline4, 0, wxEXPAND|wxBOTTOM, 5 );
  238. wxBoxSizer* bProjectBackupSizer;
  239. bProjectBackupSizer = new wxBoxSizer( wxVERTICAL );
  240. wxGridBagSizer* gbSizer3;
  241. gbSizer3 = new wxGridBagSizer( 0, 0 );
  242. gbSizer3->SetFlexibleDirection( wxBOTH );
  243. gbSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
  244. m_cbBackupEnabled = new wxCheckBox( this, wxID_ANY, _("Automatically backup projects"), wxDefaultPosition, wxDefaultSize, 0 );
  245. m_cbBackupEnabled->SetToolTip( _("Automatically create backup archives of the current project when saving files") );
  246. gbSizer3->Add( m_cbBackupEnabled, wxGBPosition( 0, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT, 5 );
  247. m_cbBackupAutosave = new wxCheckBox( this, wxID_ANY, _("Create backups when auto save occurs"), wxDefaultPosition, wxDefaultSize, 0 );
  248. m_cbBackupAutosave->SetToolTip( _("Create backups when the auto save feature is enabled. If not checked, backups will only be created when you manually save a file.") );
  249. gbSizer3->Add( m_cbBackupAutosave, wxGBPosition( 1, 0 ), wxGBSpan( 1, 3 ), wxBOTTOM|wxRIGHT, 5 );
  250. m_staticText9 = new wxStaticText( this, wxID_ANY, _("Maximum backups to keep:"), wxDefaultPosition, wxDefaultSize, 0 );
  251. m_staticText9->Wrap( -1 );
  252. m_staticText9->SetToolTip( _("How many backup files total to keep (set to 0 for no limit)") );
  253. gbSizer3->Add( m_staticText9, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
  254. m_backupLimitTotalFiles = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 );
  255. gbSizer3->Add( m_backupLimitTotalFiles, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
  256. m_staticText10 = new wxStaticText( this, wxID_ANY, _("Maximum backups per day:"), wxDefaultPosition, wxDefaultSize, 0 );
  257. m_staticText10->Wrap( -1 );
  258. m_staticText10->SetToolTip( _("How many backup files to keep each day (set to 0 for no limit)") );
  259. gbSizer3->Add( m_staticText10, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
  260. m_backupLimitDailyFiles = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 );
  261. gbSizer3->Add( m_backupLimitDailyFiles, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
  262. m_staticText11 = new wxStaticText( this, wxID_ANY, _("Minimum time between backups:"), wxDefaultPosition, wxDefaultSize, 0 );
  263. m_staticText11->Wrap( -1 );
  264. m_staticText11->SetToolTip( _("Number of minutes since the last backup before another will be created the next time you save (set to 0 for no minimum)") );
  265. gbSizer3->Add( m_staticText11, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
  266. m_backupMinInterval = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 3600, 0 );
  267. gbSizer3->Add( m_backupMinInterval, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
  268. m_staticText15 = new wxStaticText( this, wxID_ANY, _("minutes"), wxDefaultPosition, wxDefaultSize, 0 );
  269. m_staticText15->Wrap( -1 );
  270. gbSizer3->Add( m_staticText15, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
  271. m_staticText16 = new wxStaticText( this, wxID_ANY, _("Maximum total backup size:"), wxDefaultPosition, wxDefaultSize, 0 );
  272. m_staticText16->Wrap( -1 );
  273. m_staticText16->SetToolTip( _("If the total size of backup files grows above this limit, old backups will be deleted (set to 0 for no limit)") );
  274. gbSizer3->Add( m_staticText16, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  275. m_backupLimitTotalSize = new wxSpinCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 1000, 0 );
  276. gbSizer3->Add( m_backupLimitTotalSize, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
  277. m_staticText17 = new wxStaticText( this, wxID_ANY, _("MB"), wxDefaultPosition, wxDefaultSize, 0 );
  278. m_staticText17->Wrap( -1 );
  279. gbSizer3->Add( m_staticText17, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
  280. gbSizer3->AddGrowableCol( 1 );
  281. bProjectBackupSizer->Add( gbSizer3, 0, wxALL, 5 );
  282. rightSizer->Add( bProjectBackupSizer, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
  283. bPanelSizer->Add( rightSizer, 0, wxLEFT, 5 );
  284. this->SetSizer( bPanelSizer );
  285. this->Layout();
  286. bPanelSizer->Fit( this );
  287. // Connect Events
  288. m_textEditorBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnTextEditorClick ), NULL, this );
  289. m_defaultPDFViewer->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnRadioButtonPdfViewer ), NULL, this );
  290. m_otherPDFViewer->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnRadioButtonPdfViewer ), NULL, this );
  291. m_pdfViewerBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnPDFViewerClick ), NULL, this );
  292. m_canvasScaleAuto->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnCanvasScaleAuto ), NULL, this );
  293. }
  294. PANEL_COMMON_SETTINGS_BASE::~PANEL_COMMON_SETTINGS_BASE()
  295. {
  296. // Disconnect Events
  297. m_textEditorBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnTextEditorClick ), NULL, this );
  298. m_defaultPDFViewer->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnRadioButtonPdfViewer ), NULL, this );
  299. m_otherPDFViewer->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnRadioButtonPdfViewer ), NULL, this );
  300. m_pdfViewerBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnPDFViewerClick ), NULL, this );
  301. m_canvasScaleAuto->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_COMMON_SETTINGS_BASE::OnCanvasScaleAuto ), NULL, this );
  302. }