code adaptation

This commit is contained in:
DYefremov
2021-04-28 10:37:35 +03:00
parent 137ee213dc
commit 8329149b1f
20 changed files with 143 additions and 229 deletions

View File

@@ -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,

View File

@@ -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):

View File

@@ -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()

View File

@@ -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>

View File

@@ -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/>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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/>

View File

@@ -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>

View File

@@ -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()

View File

@@ -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>

View File

@@ -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/>

View File

@@ -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/>

View File

@@ -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>

View File

@@ -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">

View File

@@ -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)

View File

@@ -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/>

View File

@@ -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)