added default init in service dialog

This commit is contained in:
DYefremov
2018-03-20 00:33:00 +03:00
parent 1eeccd654a
commit 336aa47177
2 changed files with 46 additions and 31 deletions

View File

@@ -154,6 +154,12 @@
</row>
</data>
</object>
<object class="GtkAdjustment" id="sat_pos_adjustment">
<property name="lower">-180</property>
<property name="upper">180</property>
<property name="step_increment">0.10000000000000001</property>
<property name="page_increment">10</property>
</object>
<object class="GtkListStore" id="sat_pos_list_store">
<columns>
<!-- column-name sat_pos -->
@@ -405,8 +411,8 @@
<object class="GtkEntry" id="cas_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="width_chars">15</property>
<property name="max_width_chars">22</property>
<property name="primary_icon_stock">gtk-edit</property>
</object>
<packing>
@@ -637,10 +643,11 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">25</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Delays (ms):</property>
<property name="width_chars">10</property>
<property name="max_width_chars">10</property>
<property name="xalign">0</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">9</property>
@@ -971,7 +978,7 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Pos</property>
<property name="label" translatable="yes">Position</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1157,8 +1164,8 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="width_chars">17</property>
<property name="max_width_chars">17</property>
<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"/>
</object>
@@ -1179,18 +1186,14 @@
</packing>
</child>
<child>
<object class="GtkComboBox" id="sat_pos_combo_box">
<object class="GtkSpinButton" id="sat_pos_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="model">sat_pos_list_store</property>
<property name="id_column">0</property>
<child>
<object class="GtkCellRendererText" id="sat_pos_cellrenderertext"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<property name="can_focus">True</property>
<property name="input_purpose">number</property>
<property name="adjustment">sat_pos_adjustment</property>
<property name="digits">1</property>
<property name="numeric">True</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -1402,8 +1405,8 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="width_chars">5</property>
<property name="max_width_chars">5</property>
<property name="width_chars">8</property>
<property name="max_width_chars">9</property>
<property name="primary_icon_stock">gtk-edit</property>
<signal name="changed" handler="on_digit_entry_changed" swapped="no"/>
</object>

View File

@@ -1,4 +1,5 @@
import re
from math import fabs
from app.commons import run_idle
from app.eparser import Service, get_satellites
@@ -103,7 +104,7 @@ class ServiceDetailsDialog:
self._new_check_button = builder.get_object("new_check_button")
self._pids_grid = builder.get_object("pids_grid")
# Transponder elements
self._sat_pos_combo_box = builder.get_object("sat_pos_combo_box")
self._sat_pos_button = builder.get_object("sat_pos_button")
self._pol_combo_box = builder.get_object("pol_combo_box")
self._fec_combo_box = builder.get_object("fec_combo_box")
self._sys_combo_box = builder.get_object("sys_combo_box")
@@ -113,10 +114,11 @@ class ServiceDetailsDialog:
self._pilot_combo_box = builder.get_object("pilot_combo_box")
self._pls_mode_combo_box = builder.get_object("pls_mode_combo_box")
self._tr_edit_switch = builder.get_object("tr_edit_switch")
self._tr_extra_expander = builder.get_object("tr_extra_expander")
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)
self._TRANSPONDER_ELEMENTS = (self._sat_pos_combo_box, self._pol_combo_box, self._invertion_combo_box,
self._TRANSPONDER_ELEMENTS = (self._sat_pos_button, self._pol_combo_box, self._invertion_combo_box,
self._sys_combo_box, self._freq_entry, self._transponder_id_entry,
self._network_id_entry, self._namespace_entry, self._fec_combo_box,
self._rate_entry)
@@ -124,10 +126,7 @@ class ServiceDetailsDialog:
if self._action is Action.EDIT:
self.update_data_elements()
elif self._action is Action.ADD:
self._apply_button.set_visible(False)
self._create_button.set_visible(True)
self._tr_edit_switch.set_sensitive(False)
self.on_tr_edit_toggled(self._tr_edit_switch.set_active(True), True)
self.init_default_data_elements()
def show(self):
response = self._dialog.run()
@@ -137,6 +136,23 @@ class ServiceDetailsDialog:
return response
@run_idle
def init_default_data_elements(self):
self._apply_button.set_visible(False)
self._create_button.set_visible(True)
self._tr_edit_switch.set_sensitive(False)
self.on_tr_edit_toggled(self._tr_edit_switch.set_active(True), True)
for elem in self._non_empty_elements.values():
elem.set_text(" ")
elem.set_text("")
self._new_check_button.set_active(True)
self._tr_extra_expander.activate()
self._service_type_combo_box.set_active(0)
self._pol_combo_box.set_active(0)
self._fec_combo_box.set_active(0)
self._sys_combo_box.set_active(0)
self._invertion_combo_box.set_active(2)
@run_idle
def update_data_elements(self):
model, paths = self._services_view.get_selection().get_selected_rows()
@@ -266,11 +282,8 @@ class ServiceDetailsDialog:
@run_idle
def set_sat_positions(self, sat_pos):
""" Sat positions initialisation """
model = self._sat_pos_combo_box.get_model()
positions = self.get_sat_positions(self._satellites_xml_path)
for pos in positions:
model.append((pos,))
self.select_active_text(self._sat_pos_combo_box, sat_pos)
pos = float(sat_pos)
self._sat_pos_button.set_value(fabs(pos))
def get_sat_positions(self, path):
try:
@@ -424,8 +437,7 @@ class ServiceDetailsDialog:
pol = self._pol_combo_box.get_active_id()
fec = self._fec_combo_box.get_active_id()
system = self._sys_combo_box.get_active_id()
pos = self._sat_pos_combo_box.get_active_id()
pos = str(round(self._sat_pos_button.get_value(), 1))
return freq, rate, pol, fec, system, pos
def get_transponder_data(self):
@@ -434,7 +446,7 @@ class ServiceDetailsDialog:
rate = self._rate_entry.get_text()
pol = self.get_value_from_combobox_id(self._pol_combo_box, POLARIZATION)
fec = self.get_value_from_combobox_id(self._fec_combo_box, FEC_DEFAULT)
sat_pos = self._sat_pos_combo_box.get_active_id().replace(".", "")
sat_pos = str(round(self._sat_pos_button.get_value(), 1)).replace(".", "")
inv = get_value_by_name(Inversion, self._invertion_combo_box.get_active_id())
srv_sys = "0" # !!!