From fb178f65caee5c513303e10aca8132612e366c42 Mon Sep 17 00:00:00 2001 From: Kyoken Date: Tue, 11 Jan 2022 14:34:01 +0300 Subject: [PATCH] add 125 and 250 rates (#703) --- data/ui/ResolutionsPage.ui | 37 ++++++++++++++++++++++++++++++++++--- piper/resolutionspage.py | 8 ++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/data/ui/ResolutionsPage.ui b/data/ui/ResolutionsPage.ui index beebacb..01c51a3 100644 --- a/data/ui/ResolutionsPage.ui +++ b/data/ui/ResolutionsPage.ui @@ -60,6 +60,36 @@ Change the profile’s report rate True expand + + + 125 + True + True + False + False + rate_250 + + + True + True + 0 + + + + + 250 + True + True + False + False + rate_125 + + + True + True + 1 + + 500 @@ -67,11 +97,12 @@ True False False + rate_125 True True - 0 + 2 @@ -82,12 +113,12 @@ False True False - rate_500 + rate_125 True True - 1 + 3 diff --git a/piper/resolutionspage.py b/piper/resolutionspage.py index 9e996fa..1b7d5ea 100644 --- a/piper/resolutionspage.py +++ b/piper/resolutionspage.py @@ -28,6 +28,8 @@ class ResolutionsPage(Gtk.Box): RatbagdButton.ActionSpecial.RESOLUTION_DEFAULT, ] + rate_125 = GtkTemplate.Child() + rate_250 = GtkTemplate.Child() rate_500 = GtkTemplate.Child() rate_1000 = GtkTemplate.Child() listbox = GtkTemplate.Child() @@ -46,6 +48,8 @@ class ResolutionsPage(Gtk.Box): self._last_activated_row = None self._device.connect("active-profile-changed", self._on_active_profile_changed) + self._handler_125 = self.rate_125.connect("toggled", self._on_report_rate_toggled, 125) + self._handler_250 = self.rate_250.connect("toggled", self._on_report_rate_toggled, 250) self._handler_500 = self.rate_500.connect("toggled", self._on_report_rate_toggled, 500) self._handler_1000 = self.rate_1000.connect("toggled", self._on_report_rate_toggled, 1000) @@ -74,6 +78,10 @@ class ResolutionsPage(Gtk.Box): def _on_active_profile_changed(self, device, profile): # Updates report rate to reflect the new active profile's report rate. + with self.rate_125.handler_block(self._handler_125): + self.rate_125.set_active(profile.report_rate == 125) + with self.rate_250.handler_block(self._handler_250): + self.rate_250.set_active(profile.report_rate == 250) with self.rate_500.handler_block(self._handler_500): self.rate_500.set_active(profile.report_rate == 500) with self.rate_1000.handler_block(self._handler_1000):