mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-18 13:33:14 +01:00
changes for popup menu actions
This commit is contained in:
@@ -359,21 +359,14 @@ class Application(Gtk.Application):
|
||||
iptv_handlers = ("on_iptv", "on_import_yt_list", "on_import_m3u", "on_export_to_m3u",
|
||||
"on_epg_list_configuration", "on_iptv_list_configuration", "on_remove_all_unavailable")
|
||||
|
||||
def set_action(n, fun, enabled=True):
|
||||
ac = Gio.SimpleAction.new(n, None)
|
||||
ac.connect("activate", fun)
|
||||
ac.set_enabled(enabled)
|
||||
self.add_action(ac)
|
||||
return ac
|
||||
|
||||
list(map(lambda x: set_action(x, self._handlers.get(x)), main_handlers))
|
||||
list(map(lambda x: self.set_action(x, self._handlers.get(x)), main_handlers))
|
||||
# Import
|
||||
action = set_action("on_import_bouquet", self._handlers.get("on_import_bouquet"), False)
|
||||
action = self.set_action("on_import_bouquet", self._handlers.get("on_import_bouquet"), False)
|
||||
self._tool_elements.get("bouquet_import_popup_item").bind_property("sensitive", action, "enabled")
|
||||
# IPTV
|
||||
iptv_elem = self._tool_elements.get("fav_iptv_popup_item")
|
||||
for h in iptv_handlers:
|
||||
action = set_action(h, self._handlers.get(h), False)
|
||||
action = self.set_action(h, self._handlers.get(h), False)
|
||||
iptv_elem.bind_property("sensitive", action, "enabled")
|
||||
# Search, Filter
|
||||
search_action = Gio.SimpleAction.new_stateful("search", None, GLib.Variant.new_boolean(False))
|
||||
@@ -387,17 +380,20 @@ class Application(Gtk.Application):
|
||||
self._app_info_box.bind_property("visible", filter_action, "enabled", 4)
|
||||
self._main_window.add_action(filter_action)
|
||||
# Lock, Hide
|
||||
self._app_info_box.bind_property("visible", set_action("on_hide", self.on_hide, False), "enabled", 4)
|
||||
self._app_info_box.bind_property("visible", set_action("on_locked", self.on_locked, False), "enabled", 4)
|
||||
self._app_info_box.bind_property("visible", self.set_action("on_hide", self.on_hide, False), "enabled", 4)
|
||||
self._app_info_box.bind_property("visible", self.set_action("on_locked", self.on_locked, False), "enabled", 4)
|
||||
# Open and download/upload data
|
||||
set_action("open_data", lambda a, v: self.open_data())
|
||||
set_action("on_download_data", self.on_download_data)
|
||||
set_action("upload_all", lambda a, v: self.on_upload_data(DownloadType.ALL))
|
||||
set_action("upload_bouquets", lambda a, v: self.on_upload_data(DownloadType.BOUQUETS))
|
||||
set_action("on_archive_open", self.on_archive_open)
|
||||
set_action("on_import_from_web", self.on_import_from_web)
|
||||
self.set_action("open_data", lambda a, v: self.open_data())
|
||||
self.set_action("on_download_data", self.on_download_data)
|
||||
self.set_action("upload_all", lambda a, v: self.on_upload_data(DownloadType.ALL))
|
||||
self.set_action("upload_bouquets", lambda a, v: self.on_upload_data(DownloadType.BOUQUETS))
|
||||
self.set_action("on_archive_open", self.on_archive_open)
|
||||
self.set_action("on_import_from_web", self.on_import_from_web)
|
||||
# Edit
|
||||
self.set_action("on_edit", self.on_edit)
|
||||
# Save
|
||||
self._app_info_box.bind_property("visible", self.set_action("on_data_save", self.on_data_save, False),
|
||||
"enabled", 4)
|
||||
# Control
|
||||
remote_action = Gio.SimpleAction.new_stateful("on_remote", None, GLib.Variant.new_boolean(False))
|
||||
remote_action.connect("change-state", self.on_control)
|
||||
@@ -1300,7 +1296,7 @@ class Application(Gtk.Application):
|
||||
self.delete_selection(self._services_view, self._fav_view)
|
||||
self.on_view_focus(self._bouquets_view)
|
||||
|
||||
menu.popup(None, None, None, None, event.button, event.time)
|
||||
menu.popup_at_pointer(None)
|
||||
return True
|
||||
|
||||
def on_satellite_editor_show(self, action, value=None):
|
||||
|
||||
@@ -341,33 +341,33 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="fav_add_iptv_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_iptv</property>
|
||||
<property name="label" translatable="yes">Add IPTV or stream service</property>
|
||||
<signal name="activate" handler="on_iptv" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="fav_import_yt_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_import_yt_list</property>
|
||||
<property name="label" translatable="yes">Import YouTube playlist</property>
|
||||
<signal name="activate" handler="on_import_yt_list" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="fav_import_m3u_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_import_m3u</property>
|
||||
<property name="label" translatable="yes">Import m3u</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_import_m3u" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="fav_export_m3u_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_export_to_m3u</property>
|
||||
<property name="label" translatable="yes">Export to m3u</property>
|
||||
<signal name="activate" handler="on_export_to_m3u" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -380,8 +380,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="fav_epg_configuration_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_epg_list_configuration</property>
|
||||
<property name="label" translatable="yes">EPG configuration</property>
|
||||
<signal name="activate" handler="on_epg_list_configuration" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -394,8 +394,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="fav_iptv_list_configuration_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_iptv_list_configuration</property>
|
||||
<property name="label" translatable="yes">List configuration</property>
|
||||
<signal name="activate" handler="on_iptv_list_configuration" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -408,8 +408,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="fav_remove_all_unavailable_popup_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_remove_all_unavailable</property>
|
||||
<property name="label" translatable="yes">Remove all unavailable</property>
|
||||
<signal name="activate" handler="on_remove_all_unavailable" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -600,68 +600,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="icon_name">document-save-symbolic</property>
|
||||
<property name="icon_size">1</property>
|
||||
</object>
|
||||
<object class="GtkPopoverMenu" id="screenshots_menu">
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="screenshots_menu_box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">5</property>
|
||||
<property name="margin_bottom">5</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<object class="GtkModelButton" id="screenshot_button_all">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="action_name">app.on_screenshot_all</property>
|
||||
<property name="text" translatable="yes">All</property>
|
||||
<property name="centered">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkModelButton" id="screenshot_button_video">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="action_name">app.on_screenshot_video</property>
|
||||
<property name="text" translatable="yes">Video</property>
|
||||
<property name="centered">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkModelButton" id="screenshot_button_osd">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="action_name">app.on_screenshot_osd</property>
|
||||
<property name="text" translatable="yes">OSD</property>
|
||||
<property name="centered">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="submenu">main</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkListStore" id="services_list_store">
|
||||
<columns>
|
||||
<!-- column-name cas -->
|
||||
@@ -937,32 +875,32 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_add_iptv_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_iptv</property>
|
||||
<property name="label" translatable="yes">Add IPTV or stream service</property>
|
||||
<signal name="activate" handler="on_iptv" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_import_yt_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_import_yt_list</property>
|
||||
<property name="label" translatable="yes">Import YouTube playlist</property>
|
||||
<signal name="activate" handler="on_import_yt_list" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_import_m3u_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_import_m3u</property>
|
||||
<property name="label" translatable="yes">Import m3u</property>
|
||||
<signal name="activate" handler="on_import_m3u" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_export_m3u_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_export_to_m3u</property>
|
||||
<property name="label" translatable="yes">Export to m3u</property>
|
||||
<signal name="activate" handler="on_export_to_m3u" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -975,8 +913,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_separator_epg_configuration_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_epg_list_configuration</property>
|
||||
<property name="label" translatable="yes">EPG configuration</property>
|
||||
<signal name="activate" handler="on_epg_list_configuration" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -989,8 +927,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_list_configuration_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_iptv_list_configuration</property>
|
||||
<property name="label" translatable="yes">List configuration</property>
|
||||
<signal name="activate" handler="on_iptv_list_configuration" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -1003,8 +941,8 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkMenuItem" id="toolbar_iptv_remove_all_unavailable_menu_item">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">app.on_remove_all_unavailable</property>
|
||||
<property name="label" translatable="yes">Remove all unavailable</property>
|
||||
<signal name="activate" handler="on_remove_all_unavailable" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
Reference in New Issue
Block a user