From c2a5c9061d6e6410d821962c6b5b504fcde808aa Mon Sep 17 00:00:00 2001 From: TacticalGenius Date: Thu, 24 Jan 2013 16:30:48 -0600 Subject: [PATCH 1/5] added mock of checkboxes to configuration window --- syncplay/ui/GuiConfiguration.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 0d6ffa9..7cfa69e 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -20,6 +20,7 @@ class GuiConfiguration: self.window.add(vbox) vbox.show() self._addLabeledEntries(self.config, vbox) + self._addCheckboxEntries(self.config, vbox) self.hostEntry.select_region(0, len(self.hostEntry.get_text())) button = gtk.Button(stock=gtk.STOCK_SAVE) button.connect("clicked", lambda w: self._saveDataAndLeave()) @@ -48,7 +49,7 @@ class GuiConfiguration: self.roomEntry = self._addLabeledEntryToVbox(getMessage("en", "room-label"), config['room'], vbox, lambda __, _: self._saveDataAndLeave()) self.passEntry = self._addLabeledEntryToVbox(getMessage("en", "password-label"), config['password'], vbox, lambda __, _: self._saveDataAndLeave()) self.mpcEntry = self._addLabeledEntryToVbox(getMessage("en", "path-label"), self._tryToFillPlayerPath(), vbox, lambda __, _: self._saveDataAndLeave()) - + def _tryToFillPlayerPath(self): for path in self._availablePlayerPaths: if(os.path.isfile(path)): @@ -92,12 +93,22 @@ class GuiConfiguration: hbox.show() return entry + def _addCheckboxEntries(self, config, vbox): + CheckVbox = gtk.VBox(False, 0) + vbox.pack_start(CheckVbox, False, False, 0) + alwaysShowCheck = gtk.CheckButton("Always Show This Dialog") + alwaysShowCheck.show() + doNotStoreConfigCheck = gtk.CheckButton("Do Not Store This Configuration") + doNotStoreConfigCheck.show() + slowOnDesyncCheck = gtk.CheckButton("Slow Down On Desync") + slowOnDesyncCheck.show() + CheckVbox.pack_start(alwaysShowCheck, False, False, 0) + CheckVbox.add(doNotStoreConfigCheck) + CheckVbox.add(slowOnDesyncCheck) + CheckVbox.show() + def setAvailablePaths(self, paths): self._availablePlayerPaths = paths class WindowClosed(Exception): pass - - - - From 16da625653568fa0ce01c10e76a0747afad60563 Mon Sep 17 00:00:00 2001 From: TacticalGenius Date: Thu, 24 Jan 2013 21:30:48 -0600 Subject: [PATCH 2/5] config options from the checkboxes are now recoreded in _saveDataAndExit --- syncplay/ui/GuiConfiguration.py | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 7cfa69e..1e7d6fa 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -67,6 +67,18 @@ class GuiConfiguration: self.config['room'] = self.roomEntry.get_text() self.config['password'] = self.passEntry.get_text() self.config['playerPath'] = self.mpcEntry.get_text() + if self.alwaysShowCheck.get_active() == True: + self.config['alwaysShow'] = True + else: + self.config['alwaysShow'] = False + if self.storeConfigCheck.get_active() == True: + self.config['storeConfig'] = True + else: + self.config['storeConfig'] = False + if self.slowOnDesyncCheck.get_active() == True: + self.config['slowOnDesync'] = True + else: + self.config['slowOnDesync'] = False self.window.destroy() gtk.main_quit() @@ -88,23 +100,20 @@ class GuiConfiguration: hbox.pack_end(entry, False, False, 0) entry.set_usize(200, -1) entry.show() - hbox = gtk.HBox(False, 0) - vbox.add(hbox) - hbox.show() return entry def _addCheckboxEntries(self, config, vbox): CheckVbox = gtk.VBox(False, 0) vbox.pack_start(CheckVbox, False, False, 0) - alwaysShowCheck = gtk.CheckButton("Always Show This Dialog") - alwaysShowCheck.show() - doNotStoreConfigCheck = gtk.CheckButton("Do Not Store This Configuration") - doNotStoreConfigCheck.show() - slowOnDesyncCheck = gtk.CheckButton("Slow Down On Desync") - slowOnDesyncCheck.show() - CheckVbox.pack_start(alwaysShowCheck, False, False, 0) - CheckVbox.add(doNotStoreConfigCheck) - CheckVbox.add(slowOnDesyncCheck) + self.alwaysShowCheck = gtk.CheckButton("Always Show This Dialog") + self.alwaysShowCheck.show() + self.storeConfigCheck = gtk.CheckButton("Do Not Store This Configuration") + self.storeConfigCheck.show() + self.slowOnDesyncCheck = gtk.CheckButton("Slow Down On Desync") + self.slowOnDesyncCheck.show() + CheckVbox.pack_start(self.alwaysShowCheck, False, False, 0) + CheckVbox.add(self.storeConfigCheck) + CheckVbox.add(self.slowOnDesyncCheck) CheckVbox.show() def setAvailablePaths(self, paths): From a6594d2951d000ee58d93c052d84270c883c5547 Mon Sep 17 00:00:00 2001 From: TacticalGenius Date: Thu, 24 Jan 2013 21:39:29 -0600 Subject: [PATCH 3/5] fixed setting names and added property for slowing on desync --- syncplay/ui/ConfigurationGetter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py index e2d8342..e04fa75 100644 --- a/syncplay/ui/ConfigurationGetter.py +++ b/syncplay/ui/ConfigurationGetter.py @@ -31,6 +31,7 @@ class ConfigurationGetter(object): "file": None, "playerArgs": [], "playerClass": None, + "slowOnDesync": True } # @@ -209,4 +210,4 @@ class ServerConfigurationGetter(object): self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("en", "server-motd-argument")) self._argparser.add_argument('--http-reply-file', metavar='file', type=str, nargs='?', help=getMessage("en", "server-http-reply-argument")) self._argparser.add_argument('--irc-verbose', action='store_true', help=getMessage("en", "server-irc-verbose")) - self._argparser.add_argument('--irc-config-file', metavar='file', type=str, nargs='?', help=getMessage("en", "server-irc-config")) \ No newline at end of file + self._argparser.add_argument('--irc-config-file', metavar='file', type=str, nargs='?', help=getMessage("en", "server-irc-config")) From 14af25bd2699c08d18e1f6e9b8cb6cd4a4c8eb64 Mon Sep 17 00:00:00 2001 From: TacticalGenius Date: Fri, 25 Jan 2013 10:47:58 -0600 Subject: [PATCH 4/5] added link to configuration guide --- syncplay/ui/GuiConfiguration.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 1e7d6fa..19c0ad9 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -24,6 +24,9 @@ class GuiConfiguration: self.hostEntry.select_region(0, len(self.hostEntry.get_text())) button = gtk.Button(stock=gtk.STOCK_SAVE) button.connect("clicked", lambda w: self._saveDataAndLeave()) + guideLink = gtk.LinkButton("http://syncplay.pl/guide/", "Configuration Guide") + guideLink.show() + vbox.add(guideLink) vbox.pack_start(button, True, True, 0) button.set_flags(gtk.CAN_DEFAULT) button.grab_default() @@ -68,20 +71,20 @@ class GuiConfiguration: self.config['password'] = self.passEntry.get_text() self.config['playerPath'] = self.mpcEntry.get_text() if self.alwaysShowCheck.get_active() == True: - self.config['alwaysShow'] = True + self.config['noGui'] = True else: - self.config['alwaysShow'] = False + self.config['noGui'] = False if self.storeConfigCheck.get_active() == True: - self.config['storeConfig'] = True + self.config['noStore'] = True else: - self.config['storeConfig'] = False + self.config['noStore'] = False if self.slowOnDesyncCheck.get_active() == True: self.config['slowOnDesync'] = True else: self.config['slowOnDesync'] = False self.window.destroy() gtk.main_quit() - + def _addLabeledEntryToVbox(self, label, initialEntryValue, vbox, callback): hbox = gtk.HBox(False, 0) hbox.set_border_width(3) From ae9ccb40ce66d1326aeae3b22f6f9784c8cb9330 Mon Sep 17 00:00:00 2001 From: TacticalGenius Date: Fri, 25 Jan 2013 15:47:53 -0600 Subject: [PATCH 5/5] checkboxes reflect loaded config file --- syncplay/ui/GuiConfiguration.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 19c0ad9..181fe21 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -109,10 +109,16 @@ class GuiConfiguration: CheckVbox = gtk.VBox(False, 0) vbox.pack_start(CheckVbox, False, False, 0) self.alwaysShowCheck = gtk.CheckButton("Always Show This Dialog") + if self.config['noGui'] == True: + self.alwaysShowCheck.set_active(True) self.alwaysShowCheck.show() self.storeConfigCheck = gtk.CheckButton("Do Not Store This Configuration") + if self.config['noStore'] == True: + self.storeConfigCheck.set_active(True) self.storeConfigCheck.show() self.slowOnDesyncCheck = gtk.CheckButton("Slow Down On Desync") + if self.config['slowOnDesync'] == True: + self.slowOnDesyncCheck.set_active(True) self.slowOnDesyncCheck.show() CheckVbox.pack_start(self.alwaysShowCheck, False, False, 0) CheckVbox.add(self.storeConfigCheck)