From 6f4e9e920fafb93f82e960366a4be443b977be15 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 15:07:30 -0400 Subject: [PATCH 01/10] Made some app defaults more sane. --- src/Conf.defaults | 2 +- src/app-configuration.defaults | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Conf.defaults b/src/Conf.defaults index 4ab9e231..7a29a9b0 100644 --- a/src/Conf.defaults +++ b/src/Conf.defaults @@ -34,7 +34,7 @@ lists = list(default=list()) favourites_timelines = list(default=list()) trending_topic_buffers = list(default=list()) muted_buffers = list(default=list()) -autoread_buffers = list(default=list()) +autoread_buffers = list(default=list(mentions, direct_messages, events)) [mysc] spelling_language = string(default="") diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index 90e58b0d..04432291 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -8,7 +8,7 @@ language = string(default="system") hide_gui = boolean(default=False) voice_enabled = boolean(default=False) ask_at_exit = boolean(default=True) -use_invisible_keyboard_shorcuts = boolean(default=False) +use_invisible_keyboard_shorcuts = boolean(default=True) log_level = string(default="error") [keymap] From 916ca0127dc9b2b49f30d61d46e16b49d5d0a648 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 15:32:12 -0400 Subject: [PATCH 02/10] The ready sound and message can now be disabled from the config file. --- src/app-configuration.defaults | 2 ++ src/controller/mainController.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app-configuration.defaults b/src/app-configuration.defaults index 04432291..486030a4 100644 --- a/src/app-configuration.defaults +++ b/src/app-configuration.defaults @@ -9,6 +9,8 @@ hide_gui = boolean(default=False) voice_enabled = boolean(default=False) ask_at_exit = boolean(default=True) use_invisible_keyboard_shorcuts = boolean(default=True) +play_ready_sound = boolean(default=True) +speak_ready_msg = boolean(default=True) log_level = string(default="error") [keymap] diff --git a/src/controller/mainController.py b/src/controller/mainController.py index def4a85c..8885b183 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -242,8 +242,10 @@ class Controller(object): for i in session_.sessions: if session_.sessions[i].is_logged == False: continue self.start_buffers(session_.sessions[i]) - session_.sessions[session_.sessions.keys()[0]].sound.play("ready.ogg") - output.speak(_(u"Ready")) + if config.app["app-settings"]["play_ready_sound"] == True: + session_.sessions[session_.sessions.keys()[0]].sound.play("ready.ogg") + if config.app["app-settings"]["speak_ready_msg"] == True: + output.speak(_(u"Ready")) def create_ignored_session_buffer(self, session): self.accounts.append(session.settings["twitter"]["user_name"]) From 2d1f7e5ada9f22538fbe66ae6ec9278c2b7f206d Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 15:38:25 -0400 Subject: [PATCH 03/10] Moved the option for the sounds tutorial to the "help" menu where a new user of the application is most likely to look. --- src/wxUI/view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wxUI/view.py b/src/wxUI/view.py index d574b760..a000a316 100644 --- a/src/wxUI/view.py +++ b/src/wxUI/view.py @@ -19,7 +19,6 @@ class mainFrame(wx.Frame): self.trends = app.Append(wx.NewId(), _(u"View &trending topics")) self.lists = app.Append(wx.NewId(), _(u"&Lists manager")) self.lists.Enable(False) - self.sounds_tutorial = app.Append(wx.NewId(), _(u"Sounds &tutorial")) self.keystroke_editor = app.Append(wx.NewId(), _(u"&Edit keystrokes")) self.account_settings = app.Append(wx.NewId(), _(u"Account se&ttings")) self.prefs = app.Append(wx.ID_PREFERENCES, _(u"&Global settings")) @@ -70,6 +69,7 @@ class mainFrame(wx.Frame): help = wx.Menu() self.doc = help.Append(-1, _(u"&Documentation")) self.doc.Enable(False) + self.sounds_tutorial = help.Append(wx.NewId(), _(u"Sounds &tutorial")) self.changelog = help.Append(wx.NewId(), _(u"&What's new in this version?")) self.changelog.Enable(False) self.check_for_updates = help.Append(wx.NewId(), _(u"&Check for updates")) From 61863c38e3d78e086042decb22540d9b142a5e0f Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 15:39:43 -0400 Subject: [PATCH 04/10] More GUI adjustments for sounds tutorial option move. --- src/gtkUI/view.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gtkUI/view.py b/src/gtkUI/view.py index e8817603..fd0c7e3a 100644 --- a/src/gtkUI/view.py +++ b/src/gtkUI/view.py @@ -27,13 +27,12 @@ class mainFrame(Gtk.Window): self.trends = Gtk.MenuItem(label="View trending topics") self.trends.add_accelerator("activate", self.accel_group, ord("T"), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE) self.lists = Gtk.MenuItem(label="Lists manager") - self.sounds_tutorial = Gtk.MenuItem(label="Sounds tutorial") self.keystrokes_editor = None self.account_settings = Gtk.MenuItem(label="Account settings") self.prefs = Gtk.MenuItem(label="Global settings") self.close = Gtk.MenuItem(label="Close") self.close.add_accelerator("activate", self.accel_group, ord("Q"), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE) - self.append_to_menu(app, self.manage_accounts, self.updateProfile, self.menuitem_search, self.trends, self.lists, self.sounds_tutorial, self.account_settings, self.prefs, self.close) + self.append_to_menu(app, self.manage_accounts, self.updateProfile, self.menuitem_search, self.trends, self.lists, self.account_settings, self.prefs, self.close) app_menu = Gtk.MenuItem(label="Application") app_menu.add_accelerator("activate", self.accel_group, ord("a"), Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE) @@ -96,12 +95,13 @@ class mainFrame(Gtk.Window): # Help Menu help = Gtk.Menu() self.doc = Gtk.MenuItem(label="Documentation") + self.sounds_tutorial = Gtk.MenuItem(label="Sounds tutorial") self.changelog = Gtk.MenuItem(label="What's new in this version?") self.check_for_updates = Gtk.MenuItem(label="Check for updates") self.reportError = Gtk.MenuItem(label="Report an error") self.visit_website = Gtk.MenuItem(label="TWBlue's website") self.about = Gtk.MenuItem(label="ABout TWBlue") - self.append_to_menu(help, self.doc, self.changelog, self.check_for_updates, self.reportError, self.visit_website, self.about) + self.append_to_menu(help, self.doc, self.sounds_tutorial, self.changelog, self.check_for_updates, self.reportError, self.visit_website, self.about) help_menu = Gtk.MenuItem(label="Help") help_menu.set_submenu(help) menuBar.append(help_menu) From d4a4decaedb2da7ac1585cdba4919b13b5153ebf Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 15:49:35 -0400 Subject: [PATCH 05/10] Remove hardcoded app name. --- src/wxUI/view.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/wxUI/view.py b/src/wxUI/view.py index a000a316..803dc84f 100644 --- a/src/wxUI/view.py +++ b/src/wxUI/view.py @@ -74,8 +74,8 @@ class mainFrame(wx.Frame): self.changelog.Enable(False) self.check_for_updates = help.Append(wx.NewId(), _(u"&Check for updates")) self.reportError = help.Append(wx.NewId(), _(u"&Report an error")) - self.visit_website = help.Append(-1, _(u"TW Blue's &website")) - self.about = help.Append(-1, _(u"About &TW Blue")) + self.visit_website = help.Append(-1, _(unicode(application.name+"'s &website"))) + self.about = help.Append(-1, _(u"About &"+application.name)) # Add all to the menu Bar menuBar.Append(app, _(u"&Application")) @@ -110,10 +110,10 @@ class mainFrame(wx.Frame): ### MAIN def __init__(self): """ Main function of this class.""" - super(mainFrame, self).__init__(None, -1, "TW Blue", size=(1600, 1600)) + super(mainFrame, self).__init__(None, -1, application.name, size=(1600, 1600)) self.panel = wx.Panel(self) self.sizer = wx.BoxSizer(wx.VERTICAL) - self.SetTitle("TW Blue") + self.SetTitle(application.name) self.SetMenuBar(self.makeMenus()) self.nb = wx.Treebook(self.panel, wx.NewId()) self.buffers = {} @@ -189,4 +189,4 @@ class mainFrame(wx.Frame): getattr(self, menuitem).Check(check) def no_update_available(): - wx.MessageDialog(None, _(u"Your TW Blue version is up to date"), _(u"Update"), style=wx.OK).ShowModal() + wx.MessageDialog(None, _(u"Your "+application.name+" version is up to date"), _(u"Update"), style=wx.OK).ShowModal() From d87929c4c33530c2563c7f2f8447308646e94351 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 17:53:24 -0400 Subject: [PATCH 06/10] Cleaned up strings, added settings for the ready sound and message to the WX UI. --- src/controller/settings.py | 4 ++++ src/wxUI/dialogs/configuration.py | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/controller/settings.py b/src/controller/settings.py index 57aef0d9..28bbe1c9 100644 --- a/src/controller/settings.py +++ b/src/controller/settings.py @@ -31,6 +31,8 @@ class globalSettingsController(object): self.dialog.create_general(langs) self.dialog.general.language.SetSelection(id) self.dialog.set_value("general", "ask_at_exit", config.app["app-settings"]["ask_at_exit"]) + self.dialog.set_value("general", "play_ready_sound", config.app["app-settings"]["play_ready_sound"]) + self.dialog.set_value("general", "speak_ready_msg", config.app["app-settings"]["speak_ready_msg"]) self.dialog.set_value("general", "use_invisible_shorcuts", config.app["app-settings"]["use_invisible_keyboard_shorcuts"]) self.dialog.set_value("general", "disable_sapi5", config.app["app-settings"]["voice_enabled"]) self.dialog.set_value("general", "hide_gui", config.app["app-settings"]["hide_gui"]) @@ -48,6 +50,8 @@ class globalSettingsController(object): config.app["app-settings"]["voice_enabled"] = self.dialog.get_value("general", "disable_sapi5") config.app["app-settings"]["hide_gui"] = self.dialog.get_value("general", "hide_gui") config.app["app-settings"]["ask_at_exit"] = self.dialog.get_value("general", "ask_at_exit") + config.app["app-settings"]["play_ready_sound"] = self.dialog.get_value("general", "play_ready_sound") + config.app["app-settings"]["speak_ready_msg"] = self.dialog.get_value("general", "speak_ready_msg") config.app.write() class accountSettingsController(globalSettingsController): diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index d55a9450..9653f668 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -2,7 +2,7 @@ import baseDialog import wx import logging as original_logger - +import application class general(wx.Panel, baseDialog.BaseWXDialog): def __init__(self, parent, languages): super(general, self).__init__(parent) @@ -16,6 +16,10 @@ class general(wx.Panel, baseDialog.BaseWXDialog): sizer.Add(langBox, 0, wx.ALL, 5) self.ask_at_exit = wx.CheckBox(self, -1, _(U"ask before exiting TwBlue?")) sizer.Add(self.ask_at_exit, 0, wx.ALL, 5) + self.play_ready_sound = wx.CheckBox(self, -1, _(U"Play a sound when "+application.name+" launches")) + sizer.Add(self.play_ready_sound, 0, wx.ALL, 5) + self.speak_ready_msg = wx.CheckBox(self, -1, _(U"Speak a message when "+application.name+" launches")) + sizer.Add(self.speak_ready_msg, 0, wx.ALL, 5) self.use_invisible_shorcuts = wx.CheckBox(self, -1, _(u"Use invisible interface's keyboard shorcuts on the GUI")) sizer.Add(self.use_invisible_shorcuts, 0, wx.ALL, 5) self.disable_sapi5 = wx.CheckBox(self, -1, _(u"Activate Sapi5 when any other screen reader is not being run")) @@ -171,7 +175,7 @@ class audioServicesPanel(wx.Panel): self.dropbox.SetLabel(_(u"Link your Dropbox account")) def show_dialog(self): - wx.MessageDialog(self, _(u"The authorisation request will be shown on your browser. Copy the code tat Dropbox will provide and, in the text box that will appear on TW Blue, paste it. This code is necessary to continue. You only need to do it once."), _(u"Authorisation"), wx.OK).ShowModal() + wx.MessageDialog(self, _(u"Dropbox will open in your browser. After you log into Dropbox, an authorization code will be generated. Please paste it into the field which will appear. You only need to do this once."), _(u"Authorization"), wx.OK).ShowModal() def get_response(self): dlg = wx.TextEntryDialog(self, _(u"Enter the code here."), _(u"Verification code")) @@ -180,7 +184,7 @@ class audioServicesPanel(wx.Panel): return dlg.GetValue() def show_error(self): - wx.MessageDialog(self, _(u"Error during authorisation. Try again later."), _(u"Error!"), wx.ICON_ERROR).ShowModal() + wx.MessageDialog(self, _(u"Error during authorization. Try again later."), _(u"Error!"), wx.ICON_ERROR).ShowModal() def get_dropbox(self): return self.dropbox.GetLabel() @@ -193,7 +197,7 @@ class configurationDialog(baseDialog.BaseWXDialog): def __init__(self): super(configurationDialog, self).__init__(None, -1) self.panel = wx.Panel(self) - self.SetTitle(_(u"TW Blue's preferences")) + self.SetTitle(_(unicode(application.name + " preferences"))) self.sizer = wx.BoxSizer(wx.VERTICAL) self.notebook = wx.Notebook(self.panel) From 2d7c7e8e372818c6e95745b1df3636563bf4a555 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 18:24:27 -0400 Subject: [PATCH 07/10] String cleanup. --- src/wxUI/dialogs/configuration.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index 9653f668..cdbb558b 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -14,17 +14,17 @@ class general(wx.Panel, baseDialog.BaseWXDialog): langBox.Add(language, 0, wx.ALL, 5) langBox.Add(self.language, 0, wx.ALL, 5) sizer.Add(langBox, 0, wx.ALL, 5) - self.ask_at_exit = wx.CheckBox(self, -1, _(U"ask before exiting TwBlue?")) + self.ask_at_exit = wx.CheckBox(self, -1, _(U"ask before exiting "+application.name)) sizer.Add(self.ask_at_exit, 0, wx.ALL, 5) self.play_ready_sound = wx.CheckBox(self, -1, _(U"Play a sound when "+application.name+" launches")) sizer.Add(self.play_ready_sound, 0, wx.ALL, 5) self.speak_ready_msg = wx.CheckBox(self, -1, _(U"Speak a message when "+application.name+" launches")) sizer.Add(self.speak_ready_msg, 0, wx.ALL, 5) - self.use_invisible_shorcuts = wx.CheckBox(self, -1, _(u"Use invisible interface's keyboard shorcuts on the GUI")) + self.use_invisible_shorcuts = wx.CheckBox(self, -1, _(u"Use invisible interface's keyboard shortcuts while GUI is visible")) sizer.Add(self.use_invisible_shorcuts, 0, wx.ALL, 5) self.disable_sapi5 = wx.CheckBox(self, -1, _(u"Activate Sapi5 when any other screen reader is not being run")) sizer.Add(self.disable_sapi5, 0, wx.ALL, 5) - self.hide_gui = wx.CheckBox(self, -1, _(u"Activate the auto-start of the invisible interface")) + self.hide_gui = wx.CheckBox(self, -1, _(u"Hide GUI on launch")) sizer.Add(self.hide_gui, 0, wx.ALL, 5) self.SetSizer(sizer) @@ -34,10 +34,9 @@ class generalAccount(wx.Panel, baseDialog.BaseWXDialog): sizer = wx.BoxSizer(wx.VERTICAL) self.au = wx.Button(self, wx.NewId(), _(u"Set the autocomplete function")) sizer.Add(self.au, 0, wx.ALL, 5) - self.relative_time = wx.CheckBox(self, wx.NewId(), _(U"Relative times")) + self.relative_time = wx.CheckBox(self, wx.NewId(), _(U"Relative timestamps")) sizer.Add(self.relative_time, 0, wx.ALL, 5) apiCallsBox = wx.BoxSizer(wx.HORIZONTAL) - apiCallsBox.Add(wx.StaticText(self, -1, _(u"API calls when the stream is started (One API call equals to 200 tweetts, two API calls equals 400 tweets, etc):")), 0, wx.ALL, 5) self.apiCalls = wx.SpinCtrl(self, wx.NewId()) self.apiCalls.SetRange(1, 10) self.apiCalls.SetSize(self.apiCalls.GetBestSize()) @@ -50,9 +49,9 @@ class generalAccount(wx.Panel, baseDialog.BaseWXDialog): self.itemsPerApiCall.SetSize(self.itemsPerApiCall.GetBestSize()) tweetsPerCallBox.Add(self.itemsPerApiCall, 0, wx.ALL, 5) sizer.Add(tweetsPerCallBox, 0, wx.ALL, 5) - self.reverse_timelines = wx.CheckBox(self, wx.NewId(), _(u"Inverted buffers: The newest tweets will be shown at the beginning of the lists while the oldest at the end")) + self.reverse_timelines = wx.CheckBox(self, wx.NewId(), _(u"Inverted buffers: The newest tweets will be shown at the beginning while the oldest at the end")) sizer.Add(self.reverse_timelines, 0, wx.ALL, 5) - lbl = wx.StaticText(self, wx.NewId(), _(u"Retweets mode")) + lbl = wx.StaticText(self, wx.NewId(), _(u"Retweet mode")) self.retweet_mode = wx.ComboBox(self, wx.NewId(), choices=[_(u"Ask"), _(u"Retweet without comments"), _(u"Retweet with comments")], style=wx.CB_READONLY) rMode = wx.BoxSizer(wx.HORIZONTAL) rMode.Add(lbl, 0, wx.ALL, 5) @@ -153,7 +152,7 @@ class audioServicesPanel(wx.Panel): def __init__(self, parent): super(audioServicesPanel, self).__init__(parent) mainSizer = wx.BoxSizer(wx.VERTICAL) - apiKeyLabel = wx.StaticText(self, -1, _(u"If you've got a SndUp account, enter your API Key here. Whether the API Key is wrong, the App will fail to upload anything to the server. Whether there's no API Key here, then the audio files will be uploaded anonimously")) + apiKeyLabel = wx.StaticText(self, -1, _(u"If you have a SndUp account, enter your API Key here. If your API Key is invalid, " + application.name + " will fail to upload. If there is no API Key here, " + application.name + " will upload annonymously.")) self.apiKey = wx.TextCtrl(self, -1) dc = wx.WindowDC(self.apiKey) dc.SetFont(self.apiKey.GetFont()) From 3c46201af978749446cf04eb3e1cd4640bcd5d9f Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 18:31:27 -0400 Subject: [PATCH 08/10] More string cleanup. --- src/wxUI/dialogs/configuration.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wxUI/dialogs/configuration.py b/src/wxUI/dialogs/configuration.py index cdbb558b..3a25cc97 100644 --- a/src/wxUI/dialogs/configuration.py +++ b/src/wxUI/dialogs/configuration.py @@ -32,11 +32,12 @@ class generalAccount(wx.Panel, baseDialog.BaseWXDialog): def __init__(self, parent): super(generalAccount, self).__init__(parent) sizer = wx.BoxSizer(wx.VERTICAL) - self.au = wx.Button(self, wx.NewId(), _(u"Set the autocomplete function")) + self.au = wx.Button(self, wx.NewId(), _(u"Autocompletion settings...")) sizer.Add(self.au, 0, wx.ALL, 5) self.relative_time = wx.CheckBox(self, wx.NewId(), _(U"Relative timestamps")) sizer.Add(self.relative_time, 0, wx.ALL, 5) apiCallsBox = wx.BoxSizer(wx.HORIZONTAL) + apiCallsBox.Add(wx.StaticText(self, -1, _(u"API calls (One API call = 200 tweets, two API calls = 400 tweets, etc):")), 0, wx.ALL, 5) self.apiCalls = wx.SpinCtrl(self, wx.NewId()) self.apiCalls.SetRange(1, 10) self.apiCalls.SetSize(self.apiCalls.GetBestSize()) @@ -212,7 +213,7 @@ class configurationDialog(baseDialog.BaseWXDialog): def create_other_buffers(self): self.buffers = other_buffers(self.notebook) - self.notebook.AddPage(self.buffers, _(u"Show other buffers")) + self.notebook.AddPage(self.buffers, _(u"Buffers")) def create_ignored_clients(self, ignored_clients_list): self.ignored_clients = ignoredClients(self.notebook, ignored_clients_list) From d0924a6e151b0af5485c6ba98a52edcfbb196768 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 19:00:24 -0400 Subject: [PATCH 09/10] Even more string cleanup. --- src/extra/autocompletionUsers/wx_manage.py | 6 +++--- src/extra/autocompletionUsers/wx_settings.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/extra/autocompletionUsers/wx_manage.py b/src/extra/autocompletionUsers/wx_manage.py index 911e5533..5258f239 100644 --- a/src/extra/autocompletionUsers/wx_manage.py +++ b/src/extra/autocompletionUsers/wx_manage.py @@ -2,13 +2,13 @@ import wx import widgetUtils from multiplatform_widgets import widgets - +import application class autocompletionManageDialog(widgetUtils.BaseDialog): def __init__(self): - super(autocompletionManageDialog, self).__init__(parent=None, id=-1, title=_(u"Manage Autocomplete users’ database")) + super(autocompletionManageDialog, self).__init__(parent=None, id=-1, title=_(u"Manage Autocompletion database")) panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) - label = wx.StaticText(panel, -1, _(u"Editing TWBlue users database")) + label = wx.StaticText(panel, -1, _(u"Editing " + application.name + " users database")) self.users = widgets.list(panel, _(u"Username"), _(u"Name"), style=wx.LC_REPORT) sizer.Add(label, 0, wx.ALL, 5) sizer.Add(self.users.list, 0, wx.ALL, 5) diff --git a/src/extra/autocompletionUsers/wx_settings.py b/src/extra/autocompletionUsers/wx_settings.py index 7cc25de4..bc9bd53f 100644 --- a/src/extra/autocompletionUsers/wx_settings.py +++ b/src/extra/autocompletionUsers/wx_settings.py @@ -11,7 +11,7 @@ class autocompletionSettingsDialog(widgetUtils.BaseDialog): self.friends_buffer = wx.CheckBox(panel, -1, _(u"Add users from friends buffer")) sizer.Add(self.followers_buffer, 0, wx.ALL, 5) sizer.Add(self.friends_buffer, 0, wx.ALL, 5) - self.viewList = wx.Button(panel, -1, _(u"See the users list")) + self.viewList = wx.Button(panel, -1, _(u"Manage database...")) sizer.Add(self.viewList, 0, wx.ALL, 5) ok = wx.Button(panel, wx.ID_OK) cancel = wx.Button(panel, wx.ID_CANCEL) From a9405e32e94d84008ccee72f0f1cbb0149d30bf5 Mon Sep 17 00:00:00 2001 From: Bill Dengler Date: Fri, 17 Apr 2015 19:32:30 -0400 Subject: [PATCH 10/10] More improvements to the sounds tutorial, reintroduced generalized app name. Why is this implemented as a list of tuples, wouldn't this be better implemented as a dictionary? --- .../SoundsTutorial/soundsTutorial_constants.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/extra/SoundsTutorial/soundsTutorial_constants.py b/src/extra/SoundsTutorial/soundsTutorial_constants.py index 38d3b619..1788e4b1 100644 --- a/src/extra/SoundsTutorial/soundsTutorial_constants.py +++ b/src/extra/SoundsTutorial/soundsTutorial_constants.py @@ -1,25 +1,26 @@ -# -*- coding: utf-8 -*- +#-*- coding: utf-8 -*- import reverse_sort +import application actions = reverse_sort.reverse_sort([ ("audio", _(u"Audio tweet.")), ("create_timeline", _(u"User-defined buffer created.")), ("delete_timeline", _(u"User-defined buffer destroied.")), ("dm_received", _(u"Direct message received.")), ("dm_sent", _(u"Direct message sent.")), ("error", _(u"Error.")), - ("favourite", _(u"You favorited a tweet.")), + ("favourite", _(u"Tweet favorited.")), ("favourites_timeline_updated", _(u"Someone's favourites have been updated.")), ("geo", _(u"Geotweet.")), ("limit", _(u"Boundary reached.")), ("list_tweet", _(u"List updated.")), ("max_length", _(u"Too many characters.")), - ("mention_received", _(u"You've been mentioned.")), + ("mention_received", _(u"Mension received.")), ("new_event", _(u"New event.")), - ("ready", _(u"Application is ready.")), - ("reply_send", _(u"You've replied publicly.")), - ("retweet_send", _(u"You've retweeted.")), + ("ready", _(unicode(application.name+" is ready."))), + ("reply_send", _(u"Mention sent.")), + ("retweet_send", _(u"Tweet retweeted.")), ("search_updated", _(u"A search buffer has been updated.")), - ("tweet_received", _(u"New tweet in home buffer.")), - ("tweet_send", _(u"You've sent a tweet.")), + ("tweet_received", _(u"Tweet received.")), + ("tweet_send", _(u"Tweet sent.")), ("trends_updated", _(u"A trending topic buffer has been updated.")), ("tweet_timeline", _(u"New tweet in user-defined buffer.")), ("update_followers", _(u"New follower.")),