mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-01-21 23:13:16 +01:00
code adaptation
This commit is contained in:
@@ -6,6 +6,15 @@ PATH_EXE = [os.path.join(DIR_PATH, EXE_NAME)]
|
||||
|
||||
block_cipher = None
|
||||
|
||||
|
||||
excludes = ['app.tools.mpv',
|
||||
'gi.repository.Gst',
|
||||
'gi.repository.GstBase',
|
||||
'gi.repository.GstVideo',
|
||||
'youtube_dl',
|
||||
'tkinter']
|
||||
|
||||
|
||||
ui_files = [('app\\ui\\*.glade', 'ui'),
|
||||
('app\\ui\\*.css', 'ui'),
|
||||
('app\\ui\\*.ui', 'ui'),
|
||||
@@ -21,7 +30,7 @@ a = Analysis([EXE_NAME],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=['youtube_dl', 'tkinter'],
|
||||
excludes=excludes,
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
|
||||
@@ -25,7 +25,7 @@ class Defaults(Enum):
|
||||
BACKUP_BEFORE_SAVE = True
|
||||
V5_SUPPORT = False
|
||||
FORCE_BQ_NAMES = False
|
||||
HTTP_API_SUPPORT = False
|
||||
HTTP_API_SUPPORT = IS_WIN
|
||||
ENABLE_YT_DL = False
|
||||
ENABLE_SEND_TO = False
|
||||
USE_COLORS = True
|
||||
@@ -35,7 +35,7 @@ class Defaults(Enum):
|
||||
LIST_PICON_SIZE = 32
|
||||
FAV_CLICK_MODE = 0
|
||||
PLAY_STREAMS_MODE = 1 if IS_DARWIN else 0
|
||||
STREAM_LIB = "gst" if IS_WIN else "vlc"
|
||||
STREAM_LIB = "mpv" if IS_WIN else "vlc"
|
||||
PROFILE_FOLDER_DEFAULT = False
|
||||
RECORDS_PATH = DATA_PATH + "records{}".format(SEP)
|
||||
ACTIVATE_TRANSCODING = False
|
||||
@@ -619,13 +619,8 @@ class Settings:
|
||||
self._settings["extra_color"] = value
|
||||
|
||||
@property
|
||||
@lru_cache(1)
|
||||
def dark_mode(self):
|
||||
import subprocess
|
||||
|
||||
cmd = ["defaults", "read", "-g", "AppleInterfaceStyle"]
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
|
||||
return "Dark" in str(p[0])
|
||||
return self._settings.get("dark_mode", False)
|
||||
|
||||
@dark_mode.setter
|
||||
def dark_mode(self, value):
|
||||
|
||||
@@ -206,11 +206,6 @@ class GstPlayer(Player):
|
||||
from gi.repository import Gst, GstVideo
|
||||
# Initialization of GStreamer.
|
||||
Gst.init(sys.argv)
|
||||
gtk_sink = Gst.ElementFactory.make("gtksink")
|
||||
if not gtk_sink:
|
||||
msg = "GStreamer error: gtksink plugin not installed!"
|
||||
log(msg)
|
||||
raise ImportError(msg)
|
||||
except (OSError, ValueError) as e:
|
||||
log("{}: Load library error: {}".format(__class__.__name__, e))
|
||||
raise ImportError("No GStreamer is found. Check that it is installed!")
|
||||
@@ -225,11 +220,10 @@ class GstPlayer(Player):
|
||||
self._is_playing = False
|
||||
self._player = Gst.ElementFactory.make("playbin", "player")
|
||||
# Initialization of the playback widget.
|
||||
self._player.set_property("video-sink", gtk_sink)
|
||||
vid_widget = gtk_sink.get_property("widget")
|
||||
vid_widget.connect("motion-notify-event", self.on_mouse_motion)
|
||||
vid_widget = self.get_video_widget(widget)
|
||||
widget.add(vid_widget)
|
||||
vid_widget.show()
|
||||
self._player.set_window_handle(self.get_window_handle(vid_widget))
|
||||
|
||||
bus = self._player.get_bus()
|
||||
bus.add_signal_watch()
|
||||
|
||||
@@ -1,25 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<menu id="app-menu">
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">About</attribute>
|
||||
<attribute name="action">app.on_about_app</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Settings</attribute>
|
||||
<attribute name="action">app.on_settings</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Exit</attribute>
|
||||
<attribute name="action">app.on_close_app</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
<menu id="menu_bar">
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">File</attribute>
|
||||
@@ -68,21 +48,33 @@
|
||||
<attribute name="action">app.on_download</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Settings</attribute>
|
||||
<attribute name="action">app.on_settings</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Exit</attribute>
|
||||
<attribute name="action">app.on_close_app</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</submenu>
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">Edit</attribute>
|
||||
<attribute name="action">app.hide_menu_bar</attribute>
|
||||
<attribute name="hidden-when">action-disabled</attribute>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Lock</attribute>
|
||||
<attribute name="action">app.on_locked</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Hide</attribute>
|
||||
<attribute name="action">app.on_hide</attribute>
|
||||
</item>
|
||||
</section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Lock</attribute>
|
||||
<attribute name="action">app.on_locked</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Hide</attribute>
|
||||
<attribute name="action">app.on_hide</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</submenu>
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">View</attribute>
|
||||
@@ -166,5 +158,14 @@
|
||||
<attribute name="action">app.on_ftp_client_close</attribute>
|
||||
</item>
|
||||
</submenu>
|
||||
<submenu>
|
||||
<attribute name="label" translatable="yes">Help</attribute>
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">About</attribute>
|
||||
<attribute name="action">app.on_about_app</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</submenu>
|
||||
</menu>
|
||||
</interface>
|
||||
@@ -115,7 +115,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="window_position">center-on-parent</property>
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="icon_name">document-revert</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="check-resize" handler="on_resize" swapped="no"/>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
||||
@@ -92,7 +92,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">utility</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
@@ -182,7 +181,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="decorated">False</property>
|
||||
<property name="gravity">center</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="wait_dialog_box">
|
||||
<property name="width_request">100</property>
|
||||
|
||||
@@ -23,7 +23,6 @@ class Dialog(Enum):
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<property name="message_type">{message_type}</property>
|
||||
<property name="buttons">{buttons_type}</property>
|
||||
</object>
|
||||
|
||||
@@ -55,7 +55,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="icon_name">mail-send-receive</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
|
||||
@@ -601,7 +601,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="check-resize" handler="on_resize" swapped="no"/>
|
||||
<signal name="delete-event" handler="on_close_dialog" swapped="no"/>
|
||||
<child>
|
||||
|
||||
@@ -101,7 +101,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="default_height">320</property>
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="check-resize" handler="on_resize" swapped="no"/>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
||||
@@ -75,7 +75,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="decorated">False</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="response" handler="on_response" swapped="no"/>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="search_unavailable_dialog_box">
|
||||
@@ -268,7 +267,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="response" handler="on_response" swapped="no"/>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="iptv_list_configuration_dialog_box">
|
||||
@@ -1337,7 +1335,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
|
||||
@@ -36,7 +36,7 @@ from .search import SearchProvider
|
||||
from .service_details_dialog import ServiceDetailsDialog, Action
|
||||
from .settings_dialog import show_settings_dialog
|
||||
from .uicommons import (Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON, IPTV_ICON, MOVE_KEYS, KeyboardKey, Column,
|
||||
FavClickMode, MOD_MASK, APP_FONT)
|
||||
FavClickMode, MOD_MASK, TEXT_DOMAIN, APP_FONT)
|
||||
|
||||
|
||||
class Application(Gtk.Application):
|
||||
@@ -343,78 +343,25 @@ class Application(Gtk.Application):
|
||||
style_provider.load_from_path(UI_RESOURCES_PATH + "style.css")
|
||||
self._status_bar_box.get_style_context().add_provider_for_screen(Gdk.Screen.get_default(), style_provider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_USER)
|
||||
# Layout
|
||||
if self._settings.is_darwin and self._settings.alternate_layout:
|
||||
self._main_paned = builder.get_object("main_data_paned")
|
||||
self._fav_paned = builder.get_object("fav_bouquets_paned")
|
||||
self._fav_box = self._fav_paned.get_child1()
|
||||
self._bouquets_box = self._fav_paned.get_child2()
|
||||
self._left_ar_bq_button = builder.get_object("left_arrow_bq_button")
|
||||
self._left_ar_bq_button.bind_property("visible", builder.get_object("right_arrow_bq_button"), "visible", 4)
|
||||
self._left_ar_bq_button.set_visible(True)
|
||||
self.init_layout(builder)
|
||||
|
||||
def init_layout(self, builder):
|
||||
""" Initializes an alternate layout, if enabled. """
|
||||
control_box = builder.get_object("control_button_box")
|
||||
control_box.set_child_packing(self._control_button, False, True, 0, Gtk.PackType.END)
|
||||
|
||||
extra_box = builder.get_object("toolbar_extra_box")
|
||||
extra_box.set_child_packing(self._toolbar_extra_tools_box, False, True, 0, Gtk.PackType.END)
|
||||
self._toolbar_search_box.reorder_child(builder.get_object("search_tool_button"), 0)
|
||||
|
||||
self._top_box.set_child_packing(extra_box, False, True, 0, Gtk.PackType.START)
|
||||
self._top_box.set_child_packing(self._toolbar_search_box, False, True, 0, Gtk.PackType.END)
|
||||
self._top_box.reorder_child(extra_box, 0)
|
||||
|
||||
center_box = builder.get_object("center_box")
|
||||
center_box.reorder_child(self._control_revealer, 0)
|
||||
center_box.reorder_child(self._ftp_revealer, 1)
|
||||
center_box.reorder_child(self._main_box, 2)
|
||||
center_box.set_child_packing(self._control_revealer, False, True, 0, Gtk.PackType.START)
|
||||
|
||||
builder.get_object("fs_box").set_child_packing(self._filter_box, False, True, 0, Gtk.PackType.END)
|
||||
top_toolbar = builder.get_object("top_toolbar")
|
||||
top_toolbar.set_child_packing(self._toolbar_search_box, False, True, 0, Gtk.PackType.END)
|
||||
|
||||
services_box = self._main_paned.get_child1()
|
||||
self._main_paned.remove(services_box)
|
||||
self._main_paned.remove(self._fav_paned)
|
||||
self._main_paned.pack1(self._fav_paned, True, True)
|
||||
self._main_paned.pack2(services_box, True, True)
|
||||
|
||||
self._left_ar_bq_button.set_visible(not self._settings.bq_details_first)
|
||||
self.init_bq_position()
|
||||
|
||||
def init_bq_position(self):
|
||||
self._fav_paned.remove(self._fav_box)
|
||||
self._fav_paned.remove(self._bouquets_box)
|
||||
|
||||
if self._settings.bq_details_first:
|
||||
self._fav_paned.pack1(self._fav_box, False, False)
|
||||
self._fav_paned.pack2(self._bouquets_box, False, False)
|
||||
else:
|
||||
self._fav_paned.pack1(self._bouquets_box, False, False)
|
||||
self._fav_paned.pack2(self._fav_box, False, False)
|
||||
|
||||
pack = Gtk.PackType.END if self._settings.bq_details_first else Gtk.PackType.START
|
||||
self._toolbar_extra_tools_box.set_child_packing(self._add_bouquet_button, False, True, 0, pack)
|
||||
# Menu bar
|
||||
main_box = builder.get_object("main_window_box")
|
||||
builder.set_translation_domain(TEXT_DOMAIN)
|
||||
builder.add_from_file(UI_RESOURCES_PATH + "app_menu_bar.ui")
|
||||
menu_bar = Gtk.MenuBar.new_from_model(builder.get_object("menu_bar"))
|
||||
menu_bar.set_visible(True)
|
||||
main_box.pack_start(menu_bar, False, False, 0)
|
||||
main_box.reorder_child(menu_bar, 0)
|
||||
self._main_data_box.bind_property("visible", menu_bar, "visible")
|
||||
self._player_box.bind_property("visible", menu_bar, "sensitive", 4)
|
||||
if self._settings.get("telnet"):
|
||||
self.init_telnet(builder)
|
||||
|
||||
def do_startup(self):
|
||||
Gtk.Application.do_startup(self)
|
||||
|
||||
self.init_keys()
|
||||
self.set_accels()
|
||||
|
||||
builder = Gtk.Builder()
|
||||
builder.set_translation_domain("demon-editor")
|
||||
builder.add_from_file(UI_RESOURCES_PATH + "app_menu_bar.ui")
|
||||
self.set_menubar(builder.get_object("menu_bar"))
|
||||
self.set_app_menu(builder.get_object("app-menu"))
|
||||
|
||||
if self._settings.get("telnet"):
|
||||
self.init_telnet(builder)
|
||||
|
||||
self.update_profile_label()
|
||||
self.init_drag_and_drop()
|
||||
self.init_appearance()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.2
|
||||
<!-- Generated with glade 3.22.2
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
@@ -110,7 +110,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Cut</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_bouquets_cut" object="bouquets_tree_view" swapped="no"/>
|
||||
<accelerator key="x" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="x" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -121,7 +121,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Copy</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_bouquets_copy" object="bouquets_tree_view" swapped="no"/>
|
||||
<accelerator key="c" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -132,7 +132,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Paste</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_bouquets_paste" object="bouquets_tree_view" swapped="no"/>
|
||||
<accelerator key="v" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="v" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -149,7 +149,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Edit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_edit" swapped="no"/>
|
||||
<accelerator key="e" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -166,7 +166,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Remove</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_delete" object="bouquets_tree_view" swapped="no"/>
|
||||
<accelerator key="Delete" signal="activate"/>
|
||||
<accelerator key="Delete" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -228,7 +228,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Cut</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_fav_cut" object="fav_tree_view" swapped="no"/>
|
||||
<accelerator key="x" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="x" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -239,7 +239,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Copy</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_fav_copy" object="fav_tree_view" swapped="no"/>
|
||||
<accelerator key="c" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -250,7 +250,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Paste</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_fav_paste" object="fav_tree_view" swapped="no"/>
|
||||
<accelerator key="v" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="v" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -266,7 +266,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Edit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_edit" swapped="no"/>
|
||||
<accelerator key="e" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -610,7 +610,7 @@ Author: Dmitriy Yefremov
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCellRendererToggle" id="filter_satellite_renderer_toggle">
|
||||
<property name="xalign">0.98</property>
|
||||
<property name="xalign">0.98000001907348633</property>
|
||||
<signal name="toggled" handler="on_filter_satellite_toggled" swapped="no"/>
|
||||
</object>
|
||||
<attributes>
|
||||
@@ -925,7 +925,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Copy</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_services_copy" object="services_tree_view" swapped="no"/>
|
||||
<accelerator key="c" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="c" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -935,7 +935,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="label" translatable="yes">Edit</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="on_edit" swapped="no"/>
|
||||
<accelerator key="e" signal="activate" modifiers="Primary"/>
|
||||
<accelerator key="e" signal="activate" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -1115,10 +1115,9 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="window_position">center</property>
|
||||
<property name="icon_name">demon-editor</property>
|
||||
<property name="gravity">center</property>
|
||||
<property name="startup_id">DemonEditor</property>
|
||||
<signal name="delete-event" handler="on_close_app" swapped="no"/>
|
||||
<child>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
@@ -1132,65 +1131,13 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="toolbar_search_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_left">15</property>
|
||||
<property name="margin_right">15</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="filter_tool_button">
|
||||
<property name="label" translatable="yes">Filter</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Filter</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">win.filter</property>
|
||||
<property name="image">filter_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="search_tool_button">
|
||||
<property name="label" translatable="yes">Search</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Search</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">win.search</property>
|
||||
<property name="image">find_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="center">
|
||||
<object class="GtkBox" id="top_toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_left">5</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin_left">10</property>
|
||||
<property name="margin_right">10</property>
|
||||
<property name="margin_top">10</property>
|
||||
<property name="margin_bottom">10</property>
|
||||
<property name="spacing">5</property>
|
||||
@@ -1200,7 +1147,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="focus_on_click">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Profile</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="active">0</property>
|
||||
<signal name="changed" handler="on_profile_changed" swapped="no"/>
|
||||
</object>
|
||||
@@ -1215,7 +1161,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="open_tool_button">
|
||||
@@ -1223,7 +1168,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Open</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_data_open</property>
|
||||
<property name="image">open_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1242,7 +1186,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">FTP-transfer</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_download</property>
|
||||
<property name="image">ftp_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1275,7 +1218,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Save</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_data_save</property>
|
||||
<property name="image">save_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1293,7 +1235,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Backups</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_backup_tool_show</property>
|
||||
<property name="image">backups_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1311,20 +1252,68 @@ Author: Dmitriy Yefremov
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="toolbar_search_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="margin_left">10</property>
|
||||
<property name="margin_right">10</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="filter_tool_button">
|
||||
<property name="label" translatable="yes">Filter</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Filter</property>
|
||||
<property name="action_name">win.filter</property>
|
||||
<property name="image">filter_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="search_tool_button">
|
||||
<property name="label" translatable="yes">Search</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Search</property>
|
||||
<property name="action_name">win.search</property>
|
||||
<property name="image">find_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="toolbar_tools_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="sat_editor_tool_button">
|
||||
<property name="label" translatable="yes">Satellites</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Satellites editor</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_satellite_editor_show</property>
|
||||
<property name="image">sat_editor_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1339,10 +1328,9 @@ Author: Dmitriy Yefremov
|
||||
<object class="GtkButton" id="picons_manager_tool_button">
|
||||
<property name="label" translatable="yes">Picons</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Picons manager</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_picons_manager_show</property>
|
||||
<property name="image">picons_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
@@ -1356,10 +1344,9 @@ Author: Dmitriy Yefremov
|
||||
<child>
|
||||
<object class="GtkMenuButton" id="iptv_tools_menu_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">IPTV tools</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="popup">toolbar_iptv_menu</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="iptv_tools_menu_button_box">
|
||||
@@ -1422,27 +1409,28 @@ Author: Dmitriy Yefremov
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_left">15</property>
|
||||
<property name="margin_right">15</property>
|
||||
<property name="margin_top">10</property>
|
||||
<property name="margin_bottom">10</property>
|
||||
<property name="spacing">20</property>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="toolbar_extra_tools_box">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_left">5</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="lock_tool_button">
|
||||
<property name="width_request">48</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Parent lock</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_locked</property>
|
||||
<property name="image">lock_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
<accelerator key="l" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
@@ -1456,10 +1444,10 @@ Author: Dmitriy Yefremov
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Hide/Skip</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="action_name">app.on_hide</property>
|
||||
<property name="image">hide_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
<accelerator key="h" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
@@ -1469,7 +1457,6 @@ Author: Dmitriy Yefremov
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="add_bouquet_tool_button">
|
||||
<property name="width_request">32</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
@@ -1505,22 +1492,20 @@ Author: Dmitriy Yefremov
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="control_button">
|
||||
<property name="width_request">32</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip_text" translatable="yes">Control</property>
|
||||
<property name="action_name">app.on_remote</property>
|
||||
<property name="image">control_image</property>
|
||||
<property name="always_show_image">True</property>
|
||||
<accelerator key="t" signal="clicked"/>
|
||||
<accelerator key="t" signal="clicked" modifiers="GDK_CONTROL_MASK"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
@@ -1528,7 +1513,6 @@ Author: Dmitriy Yefremov
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="ftp_button">
|
||||
<property name="label" translatable="yes">FTP</property>
|
||||
<property name="width_request">32</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
@@ -1546,6 +1530,7 @@ Author: Dmitriy Yefremov
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
@@ -1554,7 +1539,7 @@ Author: Dmitriy Yefremov
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -275,7 +275,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="delete-event" handler="on_close" swapped="no"/>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
||||
@@ -436,7 +436,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="icon_name">applications-utilities</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="check-resize" handler="on_resize" swapped="no"/>
|
||||
<child>
|
||||
<object class="GtkBox" id="sat_editor_main_box">
|
||||
@@ -779,7 +778,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="satelitte_dialog_vbox">
|
||||
<property name="can_focus">False</property>
|
||||
@@ -969,7 +967,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="tr_dialog_vbox">
|
||||
<property name="can_focus">False</property>
|
||||
@@ -1403,7 +1400,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="destroy_with_parent">True</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="delete-event" handler="on_quit" swapped="no"/>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
||||
@@ -272,7 +272,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child type="titlebar">
|
||||
<placeholder/>
|
||||
</child>
|
||||
@@ -1628,7 +1627,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
|
||||
@@ -142,7 +142,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="type_hint">dialog</property>
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="gravity">center</property>
|
||||
<signal name="response" handler="on_response" swapped="no"/>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="main_box">
|
||||
|
||||
@@ -182,8 +182,9 @@ class SettingsDialog:
|
||||
self.init_ui_elements(self._s_type)
|
||||
self.init_profiles()
|
||||
|
||||
if IS_WIN:
|
||||
builder.get_object("streams_lib_frame").set_visible(False)
|
||||
if IS_WIN or True:
|
||||
self._gst_lib_button.set_visible(False)
|
||||
self._vlc_lib_button.set_sensitive(self._settings.is_enable_experimental)
|
||||
# Themes
|
||||
enable_exp = self._settings.is_enable_experimental
|
||||
builder.get_object("style_frame").set_visible(enable_exp)
|
||||
|
||||
@@ -42,7 +42,6 @@ Author: Dmitriy Yefremov
|
||||
<property name="skip_taskbar_hint">True</property>
|
||||
<property name="skip_pager_hint">True</property>
|
||||
<property name="decorated">False</property>
|
||||
<property name="gravity">center</property>
|
||||
<property name="has_resize_grip">True</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import locale
|
||||
import os
|
||||
from enum import Enum, IntEnum
|
||||
from functools import lru_cache
|
||||
@@ -28,11 +29,11 @@ try:
|
||||
except SettingsException:
|
||||
pass
|
||||
else:
|
||||
locale.setlocale(locale.LC_NUMERIC, "C")
|
||||
os.environ["LANGUAGE"] = settings.language
|
||||
|
||||
st = Gtk.Settings().get_default()
|
||||
APP_FONT = st.get_property("gtk-font-name")
|
||||
st.set_property("gtk-application-prefer-dark-theme", settings.dark_mode)
|
||||
|
||||
if settings.is_themes_support:
|
||||
st.set_property("gtk-theme-name", settings.theme)
|
||||
|
||||
Reference in New Issue
Block a user