From d762f097d03d7e98deddb82f87980563e2cea71b Mon Sep 17 00:00:00 2001 From: Dmitriy Yefremov Date: Tue, 20 Mar 2018 23:42:06 +0300 Subject: [PATCH] state update for navigation buttons --- app/ui/main_app_window.py | 4 +++- app/ui/main_window.glade | 2 ++ app/ui/search.py | 9 ++++++++- app/ui/service_details_dialog.glade | 2 +- app/ui/service_details_dialog.py | 11 +++++------ 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index 0323a0d4..e38f9f69 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -175,7 +175,9 @@ class MainAppWindow: # Search self.__search_info_bar = builder.get_object("search_info_bar") self.__search_provider = SearchProvider(self.__services_view, self.__fav_view, self.__bouquets_view, - self.__services, self.__bouquets) + self.__services, self.__bouquets, + builder.get_object("search_down_button"), + builder.get_object("search_up_button")) self.__main_window.show() def init_drag_and_drop(self): diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade index cbf16cec..d90f924b 100644 --- a/app/ui/main_window.glade +++ b/app/ui/main_window.glade @@ -1247,6 +1247,7 @@ True + False True True @@ -1267,6 +1268,7 @@ True + False True True diff --git a/app/ui/search.py b/app/ui/search.py index 24f00bf4..5d1d106d 100644 --- a/app/ui/search.py +++ b/app/ui/search.py @@ -2,7 +2,7 @@ class SearchProvider: - def __init__(self, srv_view, fav_view, bqs_view, services, bouquets): + def __init__(self, srv_view, fav_view, bqs_view, services, bouquets, down_button, up_button): self._paths = [] self._current_index = -1 self._max_indexes = 0 @@ -11,6 +11,8 @@ class SearchProvider: self._bqs_view = bqs_view self._services = services self._bouquets = bouquets + self._up_button = up_button + self._down_button = down_button def search(self, text, ): self._current_index = -1 @@ -36,6 +38,7 @@ class SearchProvider: def scroll_to(self, index): view, path = self._paths[index] view.scroll_to_cell(path, None) + self.update_navigation_buttons() def on_search_down(self): if self._current_index < self._max_indexes: @@ -47,6 +50,10 @@ class SearchProvider: self._current_index -= 1 self.scroll_to(self._current_index) + def update_navigation_buttons(self): + self._up_button.set_sensitive(self._current_index > 0) + self._down_button.set_sensitive(self._current_index < self._max_indexes) + if __name__ == "__main__": pass diff --git a/app/ui/service_details_dialog.glade b/app/ui/service_details_dialog.glade index d70bfadb..18affe6f 100644 --- a/app/ui/service_details_dialog.glade +++ b/app/ui/service_details_dialog.glade @@ -1167,7 +1167,7 @@ 14 14 gtk-edit - + 7 diff --git a/app/ui/service_details_dialog.py b/app/ui/service_details_dialog.py index 00855803..91b620a7 100644 --- a/app/ui/service_details_dialog.py +++ b/app/ui/service_details_dialog.py @@ -1,5 +1,4 @@ import re -from math import fabs from app.commons import run_idle from app.eparser import Service, get_satellites @@ -25,8 +24,9 @@ class ServiceDetailsDialog: _DIGIT_ENTRY_ELEMENTS = ("bitstream_entry", "pcm_entry", "video_pid_entry", "pcr_pid_entry", "srv_type_entry", "ac3_pid_entry", "ac3plus_pid_entry", "acc_pid_entry", "he_acc_pid_entry", "teletext_pid_entry", "pls_code_entry", "stream_id_entry", "tr_flag_entry", - "audio_pid_entry", "namespace_entry") - _NOT_EMPTY_DIGIT_ELEMENTS = ("sid_entry", "freq_entry", "rate_entry", "transponder_id_entry", "network_id_entry") + "audio_pid_entry") + _NOT_EMPTY_DIGIT_ELEMENTS = ("sid_entry", "freq_entry", "rate_entry", "transponder_id_entry", "network_id_entry", + "namespace_entry") _DIGIT_ENTRY_NAME = "digit-entry" @@ -90,7 +90,7 @@ class ServiceDetailsDialog: self._pls_code_entry = self._digit_elements.get("pls_code_entry") self._stream_id_entry = self._digit_elements.get("stream_id_entry") self._tr_flag_entry = self._digit_elements.get("tr_flag_entry") - self._namespace_entry = self._digit_elements.get("namespace_entry") + self._namespace_entry = self._non_empty_elements.get("namespace_entry") # Service elements self._name_entry = builder.get_object("name_entry") self._package_entry = builder.get_object("package_entry") @@ -282,8 +282,7 @@ class ServiceDetailsDialog: @run_idle def set_sat_positions(self, sat_pos): """ Sat positions initialisation """ - pos = float(sat_pos) - self._sat_pos_button.set_value(fabs(pos)) + self._sat_pos_button.set_value(float(sat_pos)) def get_sat_positions(self, path): try: