moved iptv menu

This commit is contained in:
DYefremov
2021-09-03 18:09:26 +03:00
parent b23319ba52
commit 5902b207e1
3 changed files with 59 additions and 91 deletions

View File

@@ -132,43 +132,6 @@
<section id="telnet_section">
</section>
</submenu>
<submenu>
<attribute name="label" translatable="yes">IPTV</attribute>
<attribute name="action">app.hide_menu_bar</attribute>
<attribute name="hidden-when">action-disabled</attribute>
<item>
<attribute name="label" translatable="yes">Add IPTV or stream service</attribute>
<attribute name="action">app.on_iptv</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import YouTube playlist</attribute>
<attribute name="action">app.on_import_yt_list</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import m3u</attribute>
<attribute name="action">app.on_import_m3u</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Export to m3u</attribute>
<attribute name="action">app.on_export_to_m3u</attribute>
</item>
<section>
<item>
<attribute name="label" translatable="yes">EPG configuration</attribute>
<attribute name="action">app.on_epg_list_configuration</attribute>
</item>
<item>
<attribute name="label" translatable="yes">List configuration</attribute>
<attribute name="action">app.on_iptv_list_configuration</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">Remove all unavailable</attribute>
<attribute name="action">app.on_remove_all_unavailable</attribute>
</item>
</section>
</submenu>
<submenu>
<attribute name="label" translatable="yes">FTP client</attribute>
<attribute name="action">app.show_ftp_menu</attribute>
@@ -293,6 +256,10 @@
<attribute name="label" translatable="yes">Picons</attribute>
<attribute name="action">app.show_picons</attribute>
</item>
<item>
<attribute name="label" translatable="yes">EPG</attribute>
<attribute name="action">app.show_epg</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Timers</attribute>
<attribute name="action">app.show_timers</attribute>
@@ -324,43 +291,6 @@
<section id="telnet_section">
</section>
</submenu>
<submenu>
<attribute name="label" translatable="yes">IPTV</attribute>
<attribute name="action">app.hide_menu_bar</attribute>
<attribute name="hidden-when">action-disabled</attribute>
<item>
<attribute name="label" translatable="yes">Add IPTV or stream service</attribute>
<attribute name="action">app.on_iptv</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import YouTube playlist</attribute>
<attribute name="action">app.on_import_yt_list</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import m3u</attribute>
<attribute name="action">app.on_import_m3u</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Export to m3u</attribute>
<attribute name="action">app.on_export_to_m3u</attribute>
</item>
<section>
<item>
<attribute name="label" translatable="yes">EPG configuration</attribute>
<attribute name="action">app.on_epg_list_configuration</attribute>
</item>
<item>
<attribute name="label" translatable="yes">List configuration</attribute>
<attribute name="action">app.on_iptv_list_configuration</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">Remove all unavailable</attribute>
<attribute name="action">app.on_remove_all_unavailable</attribute>
</item>
</section>
</submenu>
<submenu>
<attribute name="label" translatable="yes">FTP client</attribute>
<attribute name="action">app.show_ftp_menu</attribute>
@@ -371,4 +301,38 @@
</item>
</submenu>
</menu>
<menu id="iptv_menu">
<item>
<attribute name="label" translatable="yes">Add IPTV or stream service</attribute>
<attribute name="action">app.on_iptv</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import YouTube playlist</attribute>
<attribute name="action">app.on_import_yt_list</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Import m3u</attribute>
<attribute name="action">app.on_import_m3u</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Export to m3u</attribute>
<attribute name="action">app.on_export_to_m3u</attribute>
</item>
<section>
<item>
<attribute name="label" translatable="yes">EPG configuration</attribute>
<attribute name="action">app.on_epg_list_configuration</attribute>
</item>
<item>
<attribute name="label" translatable="yes">List configuration</attribute>
<attribute name="action">app.on_iptv_list_configuration</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">Remove all unavailable</attribute>
<attribute name="action">app.on_remove_all_unavailable</attribute>
</item>
</section>
</menu>
</interface>

View File

@@ -2509,7 +2509,7 @@ Author: Dmitriy Yefremov
<object class="GtkButton" id="import_m3u_header_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Import m3u file</property>
<signal name="clicked" handler="on_import_m3u" swapped="no"/>
@@ -2531,7 +2531,7 @@ Author: Dmitriy Yefremov
<object class="GtkButton" id="export_to_m3u_header_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Export to m3u</property>
<signal name="clicked" handler="on_export_to_m3u" swapped="no"/>
@@ -2550,18 +2550,18 @@ Author: Dmitriy Yefremov
</packing>
</child>
<child>
<object class="GtkButton" id="epg_configuration_header_button">
<object class="GtkMenuButton" id="iptv_menu_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="can_focus">False</property>
<property name="focus_on_click">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">EPG configuration</property>
<signal name="clicked" handler="on_epg_list_configuration" swapped="no"/>
<property name="tooltip_text" translatable="yes">IPTV</property>
<child>
<object class="GtkImage" id="epg_configuration_header_button_image">
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">insert-text-symbolic</property>
<property name="icon_name">network-wired-symbolic</property>
</object>
</child>
</object>
@@ -3065,7 +3065,7 @@ Author: Dmitriy Yefremov
<object class="GtkButton" id="new_header_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">New bouquet</property>
<signal name="clicked" handler="on_new_bouquet" object="bouquets_tree_view" swapped="no"/>

View File

@@ -98,11 +98,10 @@ class Application(Gtk.Application):
_COMMONS_ELEMENTS = ("bouquets_remove_popup_item", "fav_remove_popup_item", "import_bq_menu_button")
_FAV_ENIGMA_ELEMENTS = ("fav_insert_marker_popup_item", "fav_epg_configuration_popup_item",
"epg_configuration_header_button")
_FAV_ENIGMA_ELEMENTS = ("fav_insert_marker_popup_item", "fav_epg_configuration_popup_item")
_FAV_IPTV_ELEMENTS = ("fav_iptv_popup_item", "import_m3u_header_button", "export_to_m3u_header_button",
"epg_configuration_header_button")
"iptv_menu_button")
_LOCK_HIDE_ELEMENTS = ("locked_tool_button", "hide_tool_button")
@@ -282,11 +281,8 @@ class Application(Gtk.Application):
self._fav_model = builder.get_object("fav_list_store")
self._services_model = builder.get_object("services_list_store")
self._bouquets_model = builder.get_object("bouquets_tree_store")
self._status_bar_box = builder.get_object("status_bar_box")
self._services_main_box = builder.get_object("services_main_box")
self._bouquets_main_box = builder.get_object("bouquets_main_box")
self._header_bar = builder.get_object("header_bar")
self._bq_name_label = builder.get_object("bq_name_label")
self._iptv_menu_button = builder.get_object("iptv_menu_button")
# Setting custom sort function for position column.
self._services_view.get_model().set_sort_func(Column.SRV_POS, self.position_sort_func, Column.SRV_POS)
# App info
@@ -295,7 +291,8 @@ class Application(Gtk.Application):
# Info bar.
self._info_bar = builder.get_object("info_bar")
self._info_label = builder.get_object("info_label")
# Status bar
# Status bar.
self._status_bar_box = builder.get_object("status_bar_box")
self._profile_combo_box = builder.get_object("profile_combo_box")
self._receiver_info_box = builder.get_object("receiver_info_box")
self._receiver_info_label = builder.get_object("receiver_info_label")
@@ -430,6 +427,13 @@ class Application(Gtk.Application):
view_button.set_tooltip_text(get_message("View"))
self._main_window.get_titlebar().pack_end(view_button)
# IPTV menu.
self._iptv_menu_button.set_menu_model(builder.get_object("iptv_menu"))
iptv_elem = self._tool_elements.get("fav_iptv_popup_item")
for h in (self.on_iptv, self.on_import_yt_list, self.on_import_m3u, self.on_export_to_m3u,
self.on_epg_list_configuration, self.on_iptv_list_configuration, self.on_remove_all_unavailable):
iptv_elem.bind_property("sensitive", self.set_action(h.__name__, h, False), "enabled")
self.init_actions()
self.set_accels()