From fdbf42ad1a6efeef51803c9607f96ba8447c6793 Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Sun, 15 Sep 2019 14:13:25 -0500 Subject: [PATCH] Added a new tab called buffer settings to the preferences dialog. Moved some settings to that new tab --- changelog.md | 1 + src/interactors/configuration.py | 6 +++--- src/presenters/configuration.py | 7 ++++--- src/views/dialogs/configuration.py | 31 ++++++++++++++++++++---------- 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/changelog.md b/changelog.md index c66b89f..88041ca 100644 --- a/changelog.md +++ b/changelog.md @@ -7,6 +7,7 @@ * when selecting multiple audio files in audio buffers, multiple actions can be performed in all items, these actions are present in the contextual menu of the buffer (namely play, add/remove from the library and move to a different playlist). This means you can select all the audios you want and Socializer will perform the selected options in all items, making it a bit easier to operate with multiple songs. * Now it is possible to like and see who liked a comment when displaying it individually. This applies to comments in wall posts and topics. * Now it is possible to choose how many items Socializer will load in conversation buffers, from the General tab in the preferences dialog. The default value is 50 items, and the maximum value is 200. +* There is a new tab called buffer settings, in the preferences dialog. Settings related to how many items should be loaded in certain buffer types have been moved to this tab, so it will separate better the configuration options in the application. ### bugfixes diff --git a/src/interactors/configuration.py b/src/interactors/configuration.py index f9677e9..a300cfd 100644 --- a/src/interactors/configuration.py +++ b/src/interactors/configuration.py @@ -42,9 +42,9 @@ class configurationInteractor(base.baseInteractor): self.on_save_settings() def on_save_settings(self, *args, **kwargs): - self.presenter.update_setting(section="buffers", setting="count_for_wall_buffers", value=self.view.get_value("general", "wall_buffer_count")) - self.presenter.update_setting(section="buffers", setting="count_for_video_buffers", value=self.view.get_value("general", "video_buffers_count")) - self.presenter.update_setting(section="buffers", setting="count_for_chat_buffers", value=self.view.get_value("general", "chat_buffers_count")) + self.presenter.update_setting(section="buffers", setting="count_for_wall_buffers", value=self.view.get_value("buffers", "wall_buffer_count")) + self.presenter.update_setting(section="buffers", setting="count_for_video_buffers", value=self.view.get_value("buffers", "video_buffers_count")) + self.presenter.update_setting(section="buffers", setting="count_for_chat_buffers", value=self.view.get_value("buffers", "chat_buffers_count")) self.presenter.update_setting(section="general", setting="load_images", value=self.view.get_value("general", "load_images")) update_channel = self.presenter.get_update_channel_type(self.view.get_value("general", "update_channel")) if update_channel != self.presenter.session.settings["general"]["update_channel"]: diff --git a/src/presenters/configuration.py b/src/presenters/configuration.py index 95166a0..a008c62 100644 --- a/src/presenters/configuration.py +++ b/src/presenters/configuration.py @@ -51,12 +51,13 @@ class configurationPresenter(base.basePresenter): id = self.codes.index(config.app["app-settings"]["language"]) self.send_message("create_tab", tab="general", arglist=dict(languages=langs)) self.send_message("set_language", language=id) - self.send_message("set", tab="general", setting="wall_buffer_count", value=self.session.settings["buffers"]["count_for_wall_buffers"]) - self.send_message("set", tab="general", setting="video_buffers_count", value=self.session.settings["buffers"]["count_for_video_buffers"]) - self.send_message("set", tab="general", setting="chat_buffers_count", value=self.session.settings["buffers"]["count_for_chat_buffers"]) self.send_message("set", tab="general", setting="load_images", value=self.session.settings["general"]["load_images"]) self.send_message("set", tab="general", setting="use_proxy", value=config.app["app-settings"]["use_proxy"]) self.send_message("set", tab="general", setting="update_channel", value=self.get_update_channel_label(self.session.settings["general"]["update_channel"])) + self.send_message("create_tab", tab="buffers") + self.send_message("set", tab="buffers", setting="wall_buffer_count", value=self.session.settings["buffers"]["count_for_wall_buffers"]) + self.send_message("set", tab="buffers", setting="video_buffers_count", value=self.session.settings["buffers"]["count_for_video_buffers"]) + self.send_message("set", tab="buffers", setting="chat_buffers_count", value=self.session.settings["buffers"]["count_for_chat_buffers"]) self.send_message("create_tab", tab="chat") self.send_message("set", tab="chat", setting="notify_online", value=self.session.settings["chat"]["notify_online"]) self.send_message("set", tab="chat", setting="notify_offline", value=self.session.settings["chat"]["notify_offline"]) diff --git a/src/views/dialogs/configuration.py b/src/views/dialogs/configuration.py index 3c8a209..f4014f5 100644 --- a/src/views/dialogs/configuration.py +++ b/src/views/dialogs/configuration.py @@ -12,6 +12,23 @@ class general(wx.Panel, widgetUtils.BaseDialog): self.language.SetSize(self.language.GetBestSize()) langBox.Add(self.language, 0, wx.ALL, 5) sizer.Add(langBox, 0, wx.ALL, 5) + self.load_images = wx.CheckBox(self, wx.NewId(), _("Load images in posts")) + sizer.Add(self.load_images, 0, wx.ALL, 5) + self.use_proxy = wx.CheckBox(self, wx.NewId(), _("Use proxy")) + sizer.Add(self.use_proxy, 0, wx.ALL, 5) + lbl4 = wx.StaticText(self, wx.NewId(), _("Update channel")) + self.update_channel = wx.ComboBox(self, wx.NewId(), choices=[_("Stable"), _("Alpha")], value=_("Native"), style=wx.CB_READONLY) + box4 = wx.BoxSizer(wx.HORIZONTAL) + box4.Add(lbl4, 0, wx.ALL, 5) + box4.Add(self.update_channel, 0, wx.ALL, 5) + sizer.Add(box4, 0, wx.ALL, 5) + self.SetSizer(sizer) + +class buffers(wx.Panel, widgetUtils.BaseDialog): + + def __init__(self, panel): + super(buffers, self).__init__(panel) + sizer = wx.BoxSizer(wx.VERTICAL) lbl1 = wx.StaticText(self, wx.NewId(), _("Number of items to load for newsfeed and wall buffers (maximun 100)")) self.wall_buffer_count = wx.SpinCtrl(self, wx.NewId()) self.wall_buffer_count.SetRange(1, 100) @@ -33,16 +50,6 @@ class general(wx.Panel, widgetUtils.BaseDialog): box4.Add(lbl4, 0, wx.ALL, 5) box4.Add(self.chat_buffers_count, 0, wx.ALL, 5) sizer.Add(box4, 0, wx.ALL, 5) - self.load_images = wx.CheckBox(self, wx.NewId(), _("Load images in posts")) - sizer.Add(self.load_images, 0, wx.ALL, 5) - self.use_proxy = wx.CheckBox(self, wx.NewId(), _("Use proxy")) - sizer.Add(self.use_proxy, 0, wx.ALL, 5) - lbl4 = wx.StaticText(self, wx.NewId(), _("Update channel")) - self.update_channel = wx.ComboBox(self, wx.NewId(), choices=[_("Stable"), _("Alpha")], value=_("Native"), style=wx.CB_READONLY) - box4 = wx.BoxSizer(wx.HORIZONTAL) - box4.Add(lbl4, 0, wx.ALL, 5) - box4.Add(self.update_channel, 0, wx.ALL, 5) - sizer.Add(box4, 0, wx.ALL, 5) self.SetSizer(sizer) class chat(wx.Panel, widgetUtils.BaseDialog): @@ -128,6 +135,10 @@ class configurationDialog(widgetUtils.BaseDialog): self.notebook.AddPage(self.general, _("General")) self.general.SetFocus() + def create_buffers(self): + self.buffers = buffers(self.notebook) + self.notebook.AddPage(self.buffers, _("Buffer settings")) + def create_chat(self): self.chat = chat(self.notebook) self.notebook.AddPage(self.chat, _("Chat settings"))