mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-28 18:30:09 +01:00
state update for navigation buttons
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -1247,6 +1247,7 @@
|
||||
<child>
|
||||
<object class="GtkButton" id="search_down_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="on_search_down" swapped="no"/>
|
||||
@@ -1267,6 +1268,7 @@
|
||||
<child>
|
||||
<object class="GtkButton" id="search_up_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="on_search_up" swapped="no"/>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1167,7 +1167,7 @@
|
||||
<property name="width_chars">14</property>
|
||||
<property name="max_width_chars">14</property>
|
||||
<property name="primary_icon_stock">gtk-edit</property>
|
||||
<signal name="changed" handler="on_digit_entry_changed" swapped="no"/>
|
||||
<signal name="changed" handler="on_non_empty_entry_changed" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">7</property>
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user