From 7124fd6a92b57db960e6c68d3016d5c7d11c0c67 Mon Sep 17 00:00:00 2001 From: Dmitriy Yefremov Date: Sat, 24 Feb 2018 16:12:05 +0300 Subject: [PATCH] new ui variant for services details dialog --- app/ui/dialogs.glade | 2 +- app/ui/main_window.glade | 2 +- app/ui/service_details_dialog.glade | 366 ++++++++++++++-------------- app/ui/service_details_dialog.py | 42 +--- 4 files changed, 198 insertions(+), 214 deletions(-) diff --git a/app/ui/dialogs.glade b/app/ui/dialogs.glade index 885cddf9..9798e69b 100644 --- a/app/ui/dialogs.glade +++ b/app/ui/dialogs.glade @@ -9,7 +9,7 @@ system-help normal DemonEditor - 0.2.4 Pre-alpha + 0.3.0 Pre-alpha 2018 Dmitriy Yefremov dmitry.v.yefremov@gmail.com diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade index f02e2f8d..9382da20 100644 --- a/app/ui/main_window.glade +++ b/app/ui/main_window.glade @@ -2223,7 +2223,7 @@ True False - Ver. 0.2.4 Pre-alpha + Ver. 0.3.0 Pre-alpha 0.94999998807907104 diff --git a/app/ui/service_details_dialog.glade b/app/ui/service_details_dialog.glade index cc8015a6..f4274b2c 100644 --- a/app/ui/service_details_dialog.glade +++ b/app/ui/service_details_dialog.glade @@ -160,186 +160,6 @@ - - - - - - - - - - - - False - False - True - center-on-parent - True - dialog - True - True - center - - - False - vertical - 2 - - - False - end - - - gtk-cancel - True - True - True - True - - - True - True - 0 - - - - - gtk-ok - True - True - True - True - - - True - True - 1 - - - - - False - False - 0 - - - - - True - True - Changes will be applied to all services of this transponder! -Are you sure? - True - center - 2 - - - - False - True - 0 - - - - - True - False - vertical - - - 120 - True - True - in - - - True - False - srv_list_dialog_liststore - False - - - - - - autosize - Services: - True - 0.5 - - - - 0 - - - - - - - autosize - Package - True - 0.5 - - - - 1 - - - - - - - autosize - Ssid - True - 0.5 - - - - 2 - - - - - - - - - True - True - 0 - - - - - True - False - - - True - True - 2 - 1 - - - - - True - True - 1 - - - - - - srv_list_cancel_button - srv_list_ok_button - - @@ -377,6 +197,16 @@ Are you sure? + + + + + + + + + + False Service details @@ -1098,7 +928,177 @@ Are you sure? False True - 0 + 1 + + + + + False + vertical + + + True + True + False + 2 + + + False + 3 + end + + + False + False + 0 + + + + + False + 5 + + + gtk-no + True + True + True + True + True + + + True + True + 0 + + + + + True + True + Changes will be applied to all services of this transponder! Are you sure? + True + center + 2 + + + True + True + 1 + + + + + gtk-ok + True + True + True + True + True + + + True + True + 2 + + + + + False + False + 0 + + + + + False + True + 0 + + + + + 120 + True + True + in + + + True + False + transponder_services_liststore + False + + + + + + autosize + Services: + True + 0.5 + + + + 0 + + + + + + + autosize + Package + True + 0.5 + + + + 1 + + + + + + + autosize + Ssid + True + 0.5 + + + + 2 + + + + + + + + + True + True + 1 + + + + + True + False + + + True + True + 2 + 2 + + + + + False + True + 2 @@ -1337,7 +1337,7 @@ Are you sure? False True - 1 + 3 @@ -1608,7 +1608,7 @@ Are you sure? False True - 2 + 4 diff --git a/app/ui/service_details_dialog.py b/app/ui/service_details_dialog.py index 1defd4e0..f69fac10 100644 --- a/app/ui/service_details_dialog.py +++ b/app/ui/service_details_dialog.py @@ -8,7 +8,7 @@ from app.eparser.ecommons import MODULATION, Inversion, ROLL_OFF, Pilot, Flag, P from app.properties import Profile from app.ui.dialogs import show_dialog, DialogType from app.ui.main_helper import get_base_model -from . import Gtk, Gdk, UI_RESOURCES_PATH +from . import Gtk, Gdk, UI_RESOURCES_PATH, HIDE_ICON @lru_cache(maxsize=1) @@ -96,6 +96,8 @@ class ServiceDetailsDialog: self._rolloff_combo_box = builder.get_object("rolloff_combo_box") self._pilot_combo_box = builder.get_object("pilot_combo_box") self._pls_mode_combo_box = builder.get_object("pls_mode_combo_box") + self._infor_box = builder.get_object("infor_box") + self._tr_services_liststore = builder.get_object("transponder_services_liststore") self._DVB_S2_ELEMENTS = (self._mod_combo_box, self._rolloff_combo_box, self._pilot_combo_box, self._pls_mode_combo_box, self._pls_code_entry, self._stream_id_entry) @@ -237,7 +239,7 @@ class ServiceDetailsDialog: coded=self._old_service.coded, service=self._name_entry.get_text(), locked=self._old_service.locked, - hide=None, + hide=HIDE_ICON if self._hide_check_button.get_active() else None, package=self._package_entry.get_text(), service_type=self._service_type_combo_box.get_active_id(), picon=self._old_service.picon, @@ -377,35 +379,17 @@ class ServiceDetailsDialog: @run_idle def on_tr_edit_toggled(self, button: Gtk.CheckButton): active = button.get_active() + self._infor_box.set_visible(active) + if active: - response = ServicesListDialog(self._dialog, self._services_view, self._old_service.transponder).show() - if response == Gtk.ResponseType.CANCEL or response == -4: - button.set_active(False) - return + transponder = self._old_service.transponder + for row in get_base_model(self._services_view.get_model()): + if row[-1] == transponder: + self._tr_services_liststore.append((row[3], row[6], row[10])) - for elem in self._TRANSPONDER_ELEMENTS: - elem.set_sensitive(active) - - -class ServicesListDialog: - def __init__(self, transient, view, transponder): - builder = Gtk.Builder() - builder.add_objects_from_file(UI_RESOURCES_PATH + "service_details_dialog.glade", - ("services_list_dialog", "srv_list_dialog_liststore")) - self._dialog = builder.get_object("services_list_dialog") - self._dialog.set_transient_for(transient) - self._srv_model = builder.get_object("srv_list_dialog_liststore") - self.append_services(view, transponder) - - def append_services(self, view, transponder): - for row in view.get_model(): - if row[-1] == transponder: - self._srv_model.append((row[3], row[6], row[10])) - - def show(self): - response = self._dialog.run() - self._dialog.destroy() - return response + if not active: + for elem in self._TRANSPONDER_ELEMENTS: + elem.set_sensitive(False) if __name__ == "__main__":