Bläddra i källkod

work around config file loading too late for settings ui getting correct default values and refactor some to clean up

Isak Andersson 12 år sedan
förälder
incheckning
b2bdba6433

+ 1 - 0
IDE/Contents/Include/SettingsWindow.h

@@ -39,6 +39,7 @@ class SettingsWindow : public UIWindow {
         ~SettingsWindow();
         ~SettingsWindow();
 
 
         void handleEvent(Event *event);
         void handleEvent(Event *event);
+        void updateUI();
 
 
         UICheckBox *useExternalTextEditorBox;
         UICheckBox *useExternalTextEditorBox;
         UITextInput *externalTextEditorCommand;
         UITextInput *externalTextEditorCommand;

+ 2 - 2
IDE/Contents/Source/PolycodeIDEApp.cpp

@@ -833,8 +833,7 @@ void PolycodeIDEApp::handleEvent(Event *event) {
                 frame->hideModal();
                 frame->hideModal();
             }
             }
             if(event->getEventCode() == UIEvent::CLOSE_EVENT) {
             if(event->getEventCode() == UIEvent::CLOSE_EVENT) {
-                settingsWindow->useExternalTextEditorBox->setChecked(config->getStringValue("Polycode", "useExternalTextEditor") == "true");
-                settingsWindow->externalTextEditorCommand->setText(config->getStringValue("Polycode", "externalTextEditorCommand"));
+                settingsWindow->updateUI();
             }
             }
         }
         }
     }
     }
@@ -974,6 +973,7 @@ void PolycodeIDEApp::loadConfigFile() {
         config->setStringValue("Polycode","useExternalTextEditor", "false");
         config->setStringValue("Polycode","useExternalTextEditor", "false");
         config->setStringValue("Polycode", "externalTextEditorCommand", "");
         config->setStringValue("Polycode", "externalTextEditorCommand", "");
     }
     }
+    frame->settingsWindow->updateUI();
 }
 }
 
 
 
 

+ 9 - 4
IDE/Contents/Source/SettingsWindow.cpp

@@ -19,8 +19,7 @@
 #include "SettingsWindow.h"
 #include "SettingsWindow.h"
 
 
 SettingsWindow::SettingsWindow() : UIWindow(L"Settings", SETTINGS_WINDOW_WIDTH, SETTINGS_WINDOW_HEIGHT) {
 SettingsWindow::SettingsWindow() : UIWindow(L"Settings", SETTINGS_WINDOW_WIDTH, SETTINGS_WINDOW_HEIGHT) {
-    Config *config = CoreServices::getInstance()->getConfig();
-    
+
     closeOnEscape = true;
     closeOnEscape = true;
 
 
 
 
@@ -30,7 +29,7 @@ SettingsWindow::SettingsWindow() : UIWindow(L"Settings", SETTINGS_WINDOW_WIDTH,
     label->setPosition(padding, 50);
     label->setPosition(padding, 50);
 
 
 
 
-    useExternalTextEditorBox = new UICheckBox("Use external text editor?", config->getStringValue("Polycode", "useExternalTextEditor") == "true");
+    useExternalTextEditorBox = new UICheckBox("Use external text editor?", false);
     addChild(useExternalTextEditorBox); 
     addChild(useExternalTextEditorBox); 
     useExternalTextEditorBox->setPosition(padding, 85);
     useExternalTextEditorBox->setPosition(padding, 85);
 
 
@@ -41,7 +40,6 @@ SettingsWindow::SettingsWindow() : UIWindow(L"Settings", SETTINGS_WINDOW_WIDTH,
 
 
     externalTextEditorCommand = new UITextInput(false, SETTINGS_WINDOW_WIDTH - (padding*2 + BUTTON_WIDTH + BUTTON_PADDING/2), TEXTBOX_HEIGHT);
     externalTextEditorCommand = new UITextInput(false, SETTINGS_WINDOW_WIDTH - (padding*2 + BUTTON_WIDTH + BUTTON_PADDING/2), TEXTBOX_HEIGHT);
     addChild(externalTextEditorCommand);
     addChild(externalTextEditorCommand);
-    externalTextEditorCommand->setText(config->getStringValue("Polycode", "externalTextEditorCommand"));
     externalTextEditorCommand->setPosition(padding, EDITOR_BROWSE_POS);
     externalTextEditorCommand->setPosition(padding, EDITOR_BROWSE_POS);
 
 
     browseButton = new UIButton("Browse...", BUTTON_WIDTH);
     browseButton = new UIButton("Browse...", BUTTON_WIDTH);
@@ -90,6 +88,13 @@ void SettingsWindow::handleEvent(Event *event) {
 
 
     UIWindow::handleEvent(event); 
     UIWindow::handleEvent(event); 
 } 
 } 
+
+void SettingsWindow::updateUI() {
+    Config *config = CoreServices::getInstance()->getConfig();
+    
+    useExternalTextEditorBox->setChecked(config->getStringValue("Polycode", "useExternalTextEditor") == "true");
+    externalTextEditorCommand->setText(config->getStringValue("Polycode", "externalTextEditorCommand"));
+}
     
     
 SettingsWindow::~SettingsWindow() {
 SettingsWindow::~SettingsWindow() {
 }
 }