mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2025-12-22 08:29:41 +01:00
on save skeleton for service details dialog
This commit is contained in:
@@ -39,8 +39,8 @@ class Flag(Enum):
|
|||||||
|
|
||||||
K - last bit (1)
|
K - last bit (1)
|
||||||
H - second from end (10)
|
H - second from end (10)
|
||||||
P - third (100)
|
P - third (100)
|
||||||
N - seventh (1000000)
|
N - sixth (100000)
|
||||||
"""
|
"""
|
||||||
KEEP = 1 # Do not automatically update the services parameters.
|
KEEP = 1 # Do not automatically update the services parameters.
|
||||||
HIDE = 2
|
HIDE = 2
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ from . import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON, IPTV_ICON
|
|||||||
from .dialogs import show_dialog, DialogType, get_chooser_dialog, WaitDialog
|
from .dialogs import show_dialog, DialogType, get_chooser_dialog, WaitDialog
|
||||||
from .download_dialog import show_download_dialog
|
from .download_dialog import show_download_dialog
|
||||||
from .main_helper import edit_marker, insert_marker, move_items, rename, ViewTarget, set_flags, locate_in_services, \
|
from .main_helper import edit_marker, insert_marker, move_items, rename, ViewTarget, set_flags, locate_in_services, \
|
||||||
scroll_to, get_base_model, update_picons, copy_picon_reference, assign_picon, remove_picon, search
|
scroll_to, get_base_model, update_picons, copy_picon_reference, assign_picon, remove_picon, search, \
|
||||||
|
is_only_one_item_selected
|
||||||
from .picons_dialog import PiconsDialog
|
from .picons_dialog import PiconsDialog
|
||||||
from .satellites_dialog import show_satellites_dialog
|
from .satellites_dialog import show_satellites_dialog
|
||||||
from .settings_dialog import show_settings_dialog
|
from .settings_dialog import show_settings_dialog
|
||||||
@@ -902,12 +903,13 @@ class MainAppWindow:
|
|||||||
|
|
||||||
@run_idle
|
@run_idle
|
||||||
def on_service_edit(self, view):
|
def on_service_edit(self, view):
|
||||||
model_name = get_base_model(view.get_model()).get_name()
|
model, paths = view.get_selection().get_selected_rows()
|
||||||
if model_name == self._FAV_LIST_NAME:
|
if is_only_one_item_selected(paths, self.__main_window):
|
||||||
self.on_locate_in_services(view)
|
model_name = get_base_model(model).get_name()
|
||||||
|
if model_name == self._FAV_LIST_NAME:
|
||||||
dialog = ServiceDetailsDialog(self.__main_window, self.__options, self.__services_view)
|
self.on_locate_in_services(view)
|
||||||
dialog.show()
|
dialog = ServiceDetailsDialog(self.__main_window, self.__options, self.__services_view)
|
||||||
|
dialog.show()
|
||||||
|
|
||||||
@run_idle
|
@run_idle
|
||||||
def update_picons(self):
|
def update_picons(self):
|
||||||
|
|||||||
@@ -403,6 +403,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">srv_type_liststore</property>
|
<property name="model">srv_type_liststore</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="srv_type_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="srv_type_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -892,6 +893,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">sat_pos_list_store</property>
|
<property name="model">sat_pos_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="sat_pos_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="sat_pos_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -966,6 +968,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">pol_list_store</property>
|
<property name="model">pol_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="pol_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="pol_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -994,6 +997,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">fec_list_store</property>
|
<property name="model">fec_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="fec_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="fec_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -1022,6 +1026,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">sys_list_store</property>
|
<property name="model">sys_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<signal name="changed" handler="on_system_changed" swapped="no"/>
|
<signal name="changed" handler="on_system_changed" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="sys_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="sys_cellrenderertext"/>
|
||||||
@@ -1053,6 +1058,7 @@
|
|||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="opacity">0.98999999999999999</property>
|
<property name="opacity">0.98999999999999999</property>
|
||||||
<property name="model">mod_list_store</property>
|
<property name="model">mod_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="mod_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="mod_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -1187,6 +1193,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">invertion_list_store</property>
|
<property name="model">invertion_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="inv_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="inv_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -1205,6 +1212,7 @@
|
|||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">rolloff_list_store</property>
|
<property name="model">rolloff_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="rolloff_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="rolloff_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -1223,6 +1231,7 @@
|
|||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">pilot_list_store</property>
|
<property name="model">pilot_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="pilot_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="pilot_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -1252,6 +1261,7 @@
|
|||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="model">pls_mode_list_store</property>
|
<property name="model">pls_mode_list_store</property>
|
||||||
|
<property name="id_column">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="pls_mode_cellrenderertext"/>
|
<object class="GtkCellRendererText" id="pls_mode_cellrenderertext"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ class ServiceDetailsDialog:
|
|||||||
self._profile = Profile(options["profile"])
|
self._profile = Profile(options["profile"])
|
||||||
self._satellites_xml_path = options.get(self._profile.value)["data_dir_path"] + "satellites.xml"
|
self._satellites_xml_path = options.get(self._profile.value)["data_dir_path"] + "satellites.xml"
|
||||||
self._services_view = view
|
self._services_view = view
|
||||||
|
self._old_service = None
|
||||||
# Service elements
|
# Service elements
|
||||||
self._name_entry = builder.get_object("name_entry")
|
self._name_entry = builder.get_object("name_entry")
|
||||||
self._package_entry = builder.get_object("package_entry")
|
self._package_entry = builder.get_object("package_entry")
|
||||||
@@ -89,24 +90,24 @@ class ServiceDetailsDialog:
|
|||||||
@run_idle
|
@run_idle
|
||||||
def update_data_elements(self):
|
def update_data_elements(self):
|
||||||
model, paths = self._services_view.get_selection().get_selected_rows()
|
model, paths = self._services_view.get_selection().get_selected_rows()
|
||||||
if is_only_one_item_selected(paths, self._dialog):
|
srv = Service(*model[paths][:])
|
||||||
srv = Service(*model[paths][:])
|
self._old_service = srv
|
||||||
# Service
|
# Service
|
||||||
self._name_entry.set_text(srv.service)
|
self._name_entry.set_text(srv.service)
|
||||||
self._package_entry.set_text(srv.package)
|
self._package_entry.set_text(srv.package)
|
||||||
self.select_active_text(self._service_type_combo_box, srv.service_type)
|
self.select_active_text(self._service_type_combo_box, srv.service_type)
|
||||||
self._id_entry.set_text(str(int(srv.ssid, 16)))
|
self._id_entry.set_text(str(int(srv.ssid, 16)))
|
||||||
# Transponder
|
# Transponder
|
||||||
self._freq_entry.set_text(srv.freq)
|
self._freq_entry.set_text(srv.freq)
|
||||||
self._rate_entry.set_text(srv.rate)
|
self._rate_entry.set_text(srv.rate)
|
||||||
self.select_active_text(self._pol_combo_box, srv.pol)
|
self.select_active_text(self._pol_combo_box, srv.pol)
|
||||||
self.select_active_text(self._fec_combo_box, srv.fec)
|
self.select_active_text(self._fec_combo_box, srv.fec)
|
||||||
self.select_active_text(self._sys_combo_box, srv.system)
|
self.select_active_text(self._sys_combo_box, srv.system)
|
||||||
self.set_sat_positions(srv.pos)
|
self.set_sat_positions(srv.pos)
|
||||||
|
|
||||||
if self._profile is Profile.ENIGMA_2:
|
if self._profile is Profile.ENIGMA_2:
|
||||||
self.init_enigma2_service_data(srv)
|
self.init_enigma2_service_data(srv)
|
||||||
self.init_enigma2_transponder_data(srv)
|
self.init_enigma2_transponder_data(srv)
|
||||||
|
|
||||||
@run_idle
|
@run_idle
|
||||||
def init_enigma2_service_data(self, srv):
|
def init_enigma2_service_data(self, srv):
|
||||||
@@ -196,16 +197,62 @@ class ServiceDetailsDialog:
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
def on_save(self, item):
|
def on_save(self, item):
|
||||||
|
if show_dialog(DialogType.QUESTION, self._dialog) == Gtk.ResponseType.CANCEL:
|
||||||
|
return
|
||||||
|
|
||||||
|
srv = Service(flags_cas=self.get_flags(),
|
||||||
|
transponder_type="s",
|
||||||
|
coded=None,
|
||||||
|
service=self._name_entry.get_text(),
|
||||||
|
locked=self._old_service.locked,
|
||||||
|
hide=None,
|
||||||
|
package=self._package_entry.get_text(),
|
||||||
|
service_type=self._service_type_combo_box.get_active_id(),
|
||||||
|
picon=self._old_service.picon,
|
||||||
|
picon_id=self._old_service.picon_id,
|
||||||
|
ssid=self._id_entry.get_text(),
|
||||||
|
freq=self._freq_entry.get_text(),
|
||||||
|
rate=self._rate_entry.get_text(),
|
||||||
|
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._pol_combo_box.get_active_id(),
|
||||||
|
data_id=self.get_data_id(),
|
||||||
|
fav_id=self.get_fav_id(),
|
||||||
|
transponder=self.get_transponder_data())
|
||||||
show_dialog(DialogType.ERROR, transient=self._dialog, text="Not implemented yet!")
|
show_dialog(DialogType.ERROR, transient=self._dialog, text="Not implemented yet!")
|
||||||
# if show_dialog(DialogType.QUESTION, self._dialog) == Gtk.ResponseType.CANCEL:
|
|
||||||
# return
|
|
||||||
|
|
||||||
def on_create_new(self, item):
|
def on_create_new(self, item):
|
||||||
|
if show_dialog(DialogType.QUESTION, self._dialog) == Gtk.ResponseType.CANCEL:
|
||||||
|
return
|
||||||
|
|
||||||
show_dialog(DialogType.ERROR, transient=self._dialog, text="Not implemented yet!")
|
show_dialog(DialogType.ERROR, transient=self._dialog, text="Not implemented yet!")
|
||||||
# if show_dialog(DialogType.QUESTION, self._dialog) == Gtk.ResponseType.CANCEL:
|
|
||||||
# return
|
def get_flags(self):
|
||||||
|
if self._profile is Profile.ENIGMA_2:
|
||||||
|
pass
|
||||||
|
elif self._profile is Profile.NEUTRINO_MP:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_data_id(self):
|
||||||
|
if self._profile is Profile.ENIGMA_2:
|
||||||
|
pass
|
||||||
|
elif self._profile is Profile.NEUTRINO_MP:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_fav_id(self):
|
||||||
|
if self._profile is Profile.ENIGMA_2:
|
||||||
|
pass
|
||||||
|
elif self._profile is Profile.NEUTRINO_MP:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_transponder_data(self):
|
||||||
|
if self._profile is Profile.ENIGMA_2:
|
||||||
|
if self._sys_combo_box.get_active_id() == "DVB-S2":
|
||||||
|
pass
|
||||||
|
elif self._profile is Profile.NEUTRINO_MP:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
dialog = ServiceDetailsDialog()
|
pass
|
||||||
dialog.show()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user