revert transponder services dialog

This commit is contained in:
Dmitriy Yefremov
2018-02-25 17:52:21 +03:00
parent 7124fd6a92
commit b17bd13fb5
2 changed files with 239 additions and 203 deletions

View File

@@ -197,16 +197,6 @@
</row>
</data>
</object>
<object class="GtkListStore" id="transponder_services_liststore">
<columns>
<!-- column-name Service -->
<column type="gchararray"/>
<!-- column-name package -->
<column type="gchararray"/>
<!-- column-name ssid -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="service_details_dialog">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Service details</property>
@@ -888,6 +878,7 @@
<object class="GtkBox" id="tr_header_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="transponder_label">
<property name="visible">True</property>
@@ -902,23 +893,30 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="edit_check_button">
<property name="label">gtk-edit</property>
<object class="GtkSwitch" id="tr_edit_switch">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_right">5</property>
<property name="use_stock">True</property>
<property name="xalign">0</property>
<property name="always_show_image">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_tr_edit_toggled" swapped="no"/>
<property name="tooltip_text" translatable="yes">Edit</property>
<signal name="state-set" handler="on_tr_edit_toggled" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">10</property>
<property name="stock">gtk-edit</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<style>
@@ -931,176 +929,6 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="infor_box">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkInfoBar" id="infobar">
<property name="visible">True</property>
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="infobar_action_area">
<property name="can_focus">False</property>
<property name="spacing">3</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child internal-child="content_area">
<object class="GtkBox" id="infobar_content_area">
<property name="can_focus">False</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-no</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="srv_list_dialog_hdr_label">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Changes will be applied to all services of this transponder! Are you sure?</property>
<property name="use_markup">True</property>
<property name="justify">center</property>
<property name="lines">2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button2">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="tr_srv_scrolled_window">
<property name="height_request">120</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="tr_services_list_treeview">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="model">transponder_services_liststore</property>
<property name="enable_search">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="tr_srv_treeviewcolumn">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Services:</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="srv_cellrenderertext"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="package_treeview_column">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Package</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="package_cellrenderertext"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="ssid_treeviewcolumn">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Ssid</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="ssid_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="tr_srv_dialog_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="tr_grid">
<property name="visible">True</property>
@@ -1636,4 +1464,196 @@
<action-widget response="-6">cancel_button</action-widget>
</action-widgets>
</object>
<object class="GtkListStore" id="transponder_services_liststore">
<columns>
<!-- column-name Service -->
<column type="gchararray"/>
<!-- column-name package -->
<column type="gchararray"/>
<!-- column-name ssid -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="tr_services_dialog">
<property name="can_focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<child internal-child="vbox">
<object class="GtkBox" id="tr_services_dialog_vbox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="tr_services_dialog_action_area">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="tr_services_no_button">
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="tr_services_ok_button">
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="infor_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="srv_list_dialog_hdr_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes"> Changes will be applied to all services of this transponder!
Are you sure?</property>
<property name="use_markup">True</property>
<property name="justify">center</property>
<property name="lines">2</property>
<style>
<class name="primary-toolbar"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="tr_srv_scrolled_window">
<property name="height_request">120</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="tr_services_list_treeview">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="model">transponder_services_liststore</property>
<property name="enable_search">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="tr_srv_treeviewcolumn">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="srv_cellrenderertext"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="package_treeview_column">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Package</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="package_cellrenderertext"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="ssid_treeviewcolumn">
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Ssid</property>
<property name="expand">True</property>
<property name="alignment">0.5</property>
<child>
<object class="GtkCellRendererText" id="ssid_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="tr_srv_dialog_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="-6">tr_services_no_button</action-widget>
<action-widget response="-5">tr_services_ok_button</action-widget>
</action-widgets>
</object>
</interface>

View File

@@ -96,8 +96,6 @@ 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)
@@ -377,19 +375,37 @@ class ServiceDetailsDialog:
return get_key_by_value(dc, cb_id)
@run_idle
def on_tr_edit_toggled(self, button: Gtk.CheckButton):
active = button.get_active()
self._infor_box.set_visible(active)
def on_tr_edit_toggled(self, switch: Gtk.Switch, active):
if active:
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]))
response = TransponderServicesDialog(self._dialog, self._services_view,
self._old_service.transponder).show()
if response == Gtk.ResponseType.CANCEL or response == -4:
switch.set_active(False)
return
if not active:
for elem in self._TRANSPONDER_ELEMENTS:
elem.set_sensitive(False)
for elem in self._TRANSPONDER_ELEMENTS:
elem.set_sensitive(active)
class TransponderServicesDialog:
def __init__(self, transient, view, transponder):
builder = Gtk.Builder()
builder.add_objects_from_file(UI_RESOURCES_PATH + "service_details_dialog.glade",
("tr_services_dialog", "transponder_services_liststore"))
self._dialog = builder.get_object("tr_services_dialog")
self._dialog.set_transient_for(transient)
self._srv_model = builder.get_object("transponder_services_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 __name__ == "__main__":