satellite data update in the main model

This commit is contained in:
DYefremov
2018-05-02 21:23:09 +03:00
parent d857c4b786
commit b37aac0cd9
3 changed files with 444 additions and 412 deletions

View File

@@ -12,11 +12,12 @@ Clipboard is **"rubber"**. There is an accumulation before the insertion!
* **Ctrl + R, F2** - rename.
* **Ctrl + S, T** in Satellites edit tool for create satellite or transponder.
* **Ctrl + L** - parental lock.
* **Ctrl + H** - hide/skip.
* **Space** - select/deselect.
* **Left/Right** - remove selection.
* **Ctrl + H** - hide/skip.
* **P** - enable/disable preview mode for IPTV in the bouquet list.
* **Enter** - start play IPTV or other stream in the bouquet list.
* **Enter** - start play IPTV or other stream in the bouquet list.
* **Space** - select/deselect.
* **Left/Right** - remove selection.
* **Ctrl + Up, Down, PageUp, PageDown, Home, End** - move selected items in the list.
### Extra:
* Multiple selections in lists only with Space key (as in file managers).
* Ability to import IPTV into bouquet (Neutrino WEBTV) from m3u files.

View File

@@ -58,7 +58,7 @@
<property name="can_focus">False</property>
<property name="stock">gtk-clear</property>
</object>
<object class="GtkImage" id="clearimage">
<object class="GtkImage" id="clear_image_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-clear</property>
@@ -112,46 +112,6 @@
<property name="can_focus">False</property>
<property name="stock">gtk-find</property>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="image10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">network-transmit-receive</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-new</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkImage" id="insert_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -172,222 +132,6 @@
<property name="can_focus">False</property>
<property name="icon_name">insert-link</property>
</object>
<object class="GtkMenu" id="services_popup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_to_fav_move_popup_item">
<property name="label">gtk-go-forward</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_to_fav_move" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_popup_item">
<property name="label" translatable="yes">Create bouquet</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="image">image5</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="services_bouquet_popup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_sat_popup_item">
<property name="label" translatable="yes">For current satellite</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image1</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_satellite" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_package_popup_item">
<property name="label" translatable="yes">For current package</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image6</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_package" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_type_popup_item">
<property name="label" translatable="yes">For current type</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image8</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_type" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_bouquet_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_sat_popup_item">
<property name="label" translatable="yes">For each satellite</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image4</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_satellite" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_package_popup_item">
<property name="label" translatable="yes">For each package</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image7</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_package" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_type_popup_item">
<property name="label" translatable="yes">For each type</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image9</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_type" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_copy_popup_item">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_copy" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_edit_popup_item">
<property name="label">gtk-edit</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="resize_mode">immediate</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_service_edit" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_add_new_popup_item">
<property name="label">gtk-new</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_services_add_new" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_3">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_picon_popup_item">
<property name="label" translatable="yes">Picon</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="image">insert_image_2</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="services_picon_popoup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_assign_picon_popup_item">
<property name="label" translatable="yes">Assign</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">insert_link_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_assign_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_remove_picon_popup_item">
<property name="label" translatable="yes">Remove</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">clear_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_remove_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_4">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_reference_picon_popup_item">
<property name="label" translatable="yes">Copy reference</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">copy_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_reference_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_5">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_remove_popup_item">
<property name="label">gtk-remove</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_delete" swapped="no"/>
</object>
</child>
</object>
<object class="GtkImage" id="insert_link_image_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -403,6 +147,11 @@
<property name="can_focus">False</property>
<property name="icon_name">network-transmit-receive</property>
</object>
<object class="GtkImage" id="networktransmit_receive_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">network-transmit-receive</property>
</object>
<object class="GtkMenu" id="fav_popup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -485,7 +234,7 @@
<property name="label" translatable="yes">IPTV</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image10</property>
<property name="image">networktransmit_receive_image</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="fav_iptv_popoup_menu">
@@ -559,7 +308,7 @@
<property name="label" translatable="yes">Remove</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">clearimage</property>
<property name="image">clear_image_2</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_remove_picon" object="fav_tree_view" swapped="no"/>
</object>
@@ -602,6 +351,36 @@
</object>
</child>
</object>
<object class="GtkImage" id="new_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-new</property>
</object>
<object class="GtkImage" id="save_as_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="save_as_image_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="save_as_image_3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-save-as</property>
</object>
<object class="GtkImage" id="select_all_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkImage" id="select_all_image_3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkImage" id="send_recive_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -1469,7 +1248,7 @@
<property name="margin_right">1</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkBox" id="box4">
<object class="GtkBox" id="services_main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@@ -2029,7 +1808,7 @@
<property name="can_focus">True</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkBox" id="box2">
<object class="GtkBox" id="fav_main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@@ -2049,19 +1828,158 @@
</packing>
</child>
<child>
<object class="GtkFrame" id="player_frame">
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">in</property>
<object class="GtkPaned" id="fav_paned">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="orientation">vertical</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkDrawingArea" id="player_drawing_area">
<property name="visible">True</property>
<object class="GtkFrame" id="player_frame">
<property name="height_request">30</property>
<property name="can_focus">False</property>
<signal name="realize" handler="on_drawing_area_realize" swapped="no"/>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkDrawingArea" id="player_drawing_area">
<property name="visible">True</property>
<property name="can_focus">False</property>
<signal name="realize" handler="on_drawing_area_realize" swapped="no"/>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
<child type="label_item">
<placeholder/>
<child>
<object class="GtkScrolledWindow" id="fav_scrolled_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_bottom">2</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="fav_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">fav_list_store</property>
<property name="search_column">2</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_fav_press" object="fav_popup_menu" swapped="no"/>
<signal name="drag-data-get" handler="on_fav_tree_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_fav_tree_view_drag_data_received" swapped="no"/>
<signal name="focus-in-event" handler="on_view_focus" swapped="no"/>
<signal name="key-release-event" handler="on_tree_view_key_release" swapped="no"/>
<signal name="row-activated" handler="on_fav_selection" object="fav_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="fav_selection">
<property name="mode">multiple</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="num_column">
<property name="title" translatable="yes">Num</property>
<child>
<object class="GtkCellRendererText" id="num_cellrenderertext">
<property name="xalign">0.20000000298023224</property>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_service_column">
<property name="resizable">True</property>
<property name="spacing">2</property>
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererPixbuf" id="fav_picon_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">8</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_coded_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="fav_service_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_locked_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">3</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_hide_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_type_column">
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_pos_column">
<property name="title" translatable="yes">Pos</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_id_column">
<property name="visible">False</property>
<property name="title">fav_id</property>
<child>
<object class="GtkCellRendererText" id="fav_id_cellrenderertext4"/>
<attributes>
<attribute name="text">7</attribute>
</attributes>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
</object>
<packing>
@@ -2070,133 +1988,6 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_bottom">2</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="fav_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">fav_list_store</property>
<property name="search_column">2</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_fav_press" object="fav_popup_menu" swapped="no"/>
<signal name="drag-data-get" handler="on_fav_tree_view_drag_data_get" swapped="no"/>
<signal name="drag-data-received" handler="on_fav_tree_view_drag_data_received" swapped="no"/>
<signal name="focus-in-event" handler="on_view_focus" swapped="no"/>
<signal name="key-release-event" handler="on_tree_view_key_release" swapped="no"/>
<signal name="row-activated" handler="on_fav_selection" object="fav_list_store" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="fav_selection">
<property name="mode">multiple</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="num_column">
<property name="title" translatable="yes">Num</property>
<child>
<object class="GtkCellRendererText" id="num_cellrenderertext">
<property name="xalign">0.20000000298023224</property>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_service_column">
<property name="resizable">True</property>
<property name="spacing">2</property>
<property name="sizing">autosize</property>
<property name="title" translatable="yes">Service</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererPixbuf" id="fav_picon_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">8</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_coded_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">1</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="fav_service_cellrenderertext"/>
<attributes>
<attribute name="text">2</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_locked_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">3</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererPixbuf" id="fav_hide_cellrendererpixbuf"/>
<attributes>
<attribute name="pixbuf">4</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_type_column">
<property name="title" translatable="yes">Type</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="type_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_pos_column">
<property name="title" translatable="yes">Pos</property>
<property name="expand">True</property>
<child>
<object class="GtkCellRendererText" id="pos_cellrenderertext">
<property name="xalign">0.50999999046325684</property>
</object>
<attributes>
<attribute name="text">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="fav_id_column">
<property name="visible">False</property>
<property name="title">fav_id</property>
<child>
<object class="GtkCellRendererText" id="fav_id_cellrenderertext4"/>
<attributes>
<attribute name="text">7</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="GtkBox" id="fav_bar_box">
<property name="height_request">20</property>
@@ -2237,7 +2028,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
</object>
@@ -2247,7 +2038,7 @@
</packing>
</child>
<child>
<object class="GtkBox" id="box3">
<object class="GtkBox" id="bouquets_main_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@@ -2524,4 +2315,225 @@
</object>
</child>
</object>
<object class="GtkImage" id="slect_all_image_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-all</property>
</object>
<object class="GtkMenu" id="services_popup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_to_fav_move_popup_item">
<property name="label">gtk-go-forward</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_to_fav_move" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_popup_item">
<property name="label" translatable="yes">Create bouquet</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="image">new_image</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="services_bouquet_popup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_sat_popup_item">
<property name="label" translatable="yes">For current satellite</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">save_as_image_2</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_satellite" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_package_popup_item">
<property name="label" translatable="yes">For current package</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">save_as_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_package" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_current_type_popup_item">
<property name="label" translatable="yes">For current type</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">save_as_image_3</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_current_type" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_bouquet_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_sat_popup_item">
<property name="label" translatable="yes">For each satellite</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">select_all_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_satellite" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_package_popup_item">
<property name="label" translatable="yes">For each package</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">slect_all_image_2</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_package" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_create_bouquet_for_each_type_popup_item">
<property name="label" translatable="yes">For each type</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">select_all_image_3</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_create_bouquet_for_each_type" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_copy_popup_item">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_copy" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_edit_popup_item">
<property name="label">gtk-edit</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="resize_mode">immediate</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_service_edit" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_add_new_popup_item">
<property name="label">gtk-new</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_services_add_new" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_3">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_picon_popup_item">
<property name="label" translatable="yes">Picon</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="image">insert_image_2</property>
<property name="use_stock">False</property>
<child type="submenu">
<object class="GtkMenu" id="services_picon_popoup_menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="services_assign_picon_popup_item">
<property name="label" translatable="yes">Assign</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">insert_link_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_assign_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_remove_picon_popup_item">
<property name="label" translatable="yes">Remove</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">clear_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_remove_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_4">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_reference_picon_popup_item">
<property name="label" translatable="yes">Copy reference</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">copy_image</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_reference_picon" object="services_tree_view" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="services_separatormenuitem_5">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_remove_popup_item">
<property name="label">gtk-remove</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<signal name="activate" handler="on_delete" swapped="no"/>
</object>
</child>
</object>
</interface>

View File

@@ -145,13 +145,7 @@ class SatellitesDialog:
@run_idle
def append_data(self, model, satellites):
for sat in satellites:
self.append_satellite(model, sat)
def append_satellite(self, model, sat):
name, flags, pos, transponders = sat
parent = model.append(None, [name, *self._aggr, flags, pos])
for transponder in transponders:
model.append(parent, ["Transponder:", *transponder, None, None])
append_satellite(model, sat)
def on_add(self, view):
""" Common adding """
@@ -282,7 +276,7 @@ class SatellitesDialog:
def on_update(self, item):
dialog = SatellitesUpdateDialog(self._dialog, self._sat_view.get_model())
sats = dialog.run()
dialog.run()
dialog.destroy()
@staticmethod
@@ -515,9 +509,23 @@ class SatellitesUpdateDialog:
pos = row[-1]
if pos in sats:
sat = sats.pop(pos)
print("The remaining satellites:", sats)
itr = row.iter
self.update_satellite(itr, row, sat)
for sat in sats.values():
append_satellite(self._main_model, sat)
self._download_task = False
@run_idle
def update_satellite(self, itr, row, sat):
if self._main_model.iter_has_child(itr):
children = row.iterchildren()
for ch in children:
self._main_model.remove(ch.iter)
for tr in sat[3]:
self._main_model.append(itr, ["Transponder:", *tr, None, None])
@run_idle
def append_output(self, text):
append_text_to_tview(text, self._text_view)
@@ -539,5 +547,16 @@ class SatellitesUpdateDialog:
self._download_task = False
# ***************** Commons *******************#
@run_idle
def append_satellite(model, sat):
""" Common function for append satellite to the model """
name, flags, pos, transponders = sat
parent = model.append(None, [name, *(None,) * 9, flags, pos])
for transponder in transponders:
model.append(parent, ["Transponder:", *transponder, None, None])
if __name__ == "__main__":
pass