diff --git a/src/cthulhu/cthulhu.py b/src/cthulhu/cthulhu.py index 66dc7d8..ba0a3b4 100644 --- a/src/cthulhu/cthulhu.py +++ b/src/cthulhu/cthulhu.py @@ -554,6 +554,23 @@ def _showPreferencesUI(script, prefs): cthulhu_state.cthulhuOS.init(script) cthulhu_state.cthulhuOS.showGUI() +def showAppPreferencesGUI(script=None, inputEvent=None): + """Displays the user interface to configure the settings for a + specific applications within Cthulhu and set up those app-specific + user preferences using a GUI. + + Returns True to indicate the input event has been consumed. + """ + + prefs = {} + for key in settings.userCustomizableSettings: + prefs[key] = _settingsManager.getSetting(key) + + script = script or cthulhu_state.activeScript + _showPreferencesUI(script, prefs) + + return True + def showPreferencesGUI(script=None, inputEvent=None): """Displays the user interface to configure Cthulhu and set up user preferences using a GUI. diff --git a/src/cthulhu/scripts/default.py b/src/cthulhu/scripts/default.py index 27a4aed..5a19f7a 100644 --- a/src/cthulhu/scripts/default.py +++ b/src/cthulhu/scripts/default.py @@ -209,6 +209,16 @@ class Script(script.Script): cthulhu.quitCthulhu, cmdnames.QUIT_CTHULHU) + self.inputEventHandlers["preferencesSettingsHandler"] = \ + input_event.InputEventHandler( + cthulhu.showPreferencesGUI, + cmdnames.SHOW_PREFERENCES_GUI) + + self.inputEventHandlers["appPreferencesSettingsHandler"] = \ + input_event.InputEventHandler( + cthulhu.showAppPreferencesGUI, + cmdnames.SHOW_APP_PREFERENCES_GUI) + self.inputEventHandlers["cycleSettingsProfileHandler"] = \ input_event.InputEventHandler( Script.cycleSettingsProfile,