added app info box

This commit is contained in:
DYefremov
2019-10-04 21:31:41 +03:00
parent f62f104c8d
commit 57f157ef9b
2 changed files with 110 additions and 41 deletions

View File

@@ -205,6 +205,12 @@ class Application(Gtk.Application):
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")
# App info
self._app_info_box = builder.get_object("app_info_box")
self._app_info_box.bind_property("visible", self._status_bar_box, "visible", 4)
self._app_info_box.bind_property("visible", builder.get_object("main_paned"), "visible", 4)
self._app_info_box.bind_property("visible", builder.get_object("right_header_box"), "sensitive", 4)
self._app_info_box.bind_property("visible", builder.get_object("left_header_box"), "sensitive", 4)
# Status bar
self._ip_label = builder.get_object("ip_label")
self._ip_label.set_text(self._options.get(self._profile).get("host"))
@@ -273,7 +279,6 @@ class Application(Gtk.Application):
self.init_drag_and_drop()
self.init_colors()
self.init_http_api()
self._services_view.grab_focus()
def do_activate(self):
self._main_window.set_application(self)
@@ -875,11 +880,18 @@ class Application(Gtk.Application):
yield True
def append_data(self, bouquets, services):
if self._app_info_box.get_visible():
yield from self.show_app_info(False)
self.append_bouquets(bouquets)
yield from self.append_services(services)
self.update_sat_positions()
yield True
def show_app_info(self, visible):
self._app_info_box.set_visible(visible)
self._app_info_box.grab_focus() if visible else self._services_view.grab_focus()
yield True
def append_blacklist(self, black_list):
if black_list:
self._blacklist.update(black_list)
@@ -1154,6 +1166,7 @@ class Application(Gtk.Application):
profile = self._options.get("profile")
self._ip_label.set_text(self._options.get(profile).get("host"))
if profile != self._profile:
yield from self.show_app_info(True)
self._profile = profile
c_gen = self.clear_current_data()
yield from c_gen
@@ -1632,8 +1645,8 @@ class Application(Gtk.Application):
def on_main_window_state(self, window, event):
full = not event.new_window_state & Gdk.WindowState.FULLSCREEN
self._main_data_box.set_visible(full)
self._status_bar_box.set_visible(full)
self._player_tool_bar.set_visible(full)
self._status_bar_box.set_visible(full and not self._app_info_box.get_visible())
# ************************ HTTP API ****************************#

View File

@@ -346,6 +346,7 @@ Author: Dmitriy Yefremov
<child>
<object class="GtkModelButton" id="import_bq_menu_button">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="text" translatable="yes">Bouquet</property>
@@ -991,43 +992,41 @@ Author: Dmitriy Yefremov
</object>
</child>
<child>
<object class="GtkBox" id="left_header_box">
<object class="GtkSeparator" id="left_header_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">1</property>
<property name="margin_right">1</property>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="download_header_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">FTP-transfer</property>
<signal name="clicked" handler="on_download" swapped="no"/>
<child>
<object class="GtkImage" id="download_header_button_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">network-wired</property>
</object>
</child>
</object>
<packing>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkBox" id="left_header_box">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="spacing">1</property>
<child>
<object class="GtkSeparator" id="left_header_box_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">2</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="download_header_button">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">FTP-transfer</property>
<signal name="clicked" handler="on_download" swapped="no"/>
<child>
<object class="GtkImage" id="download_header_button_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">network-wired</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="save_header_button">
<property name="visible">True</property>
@@ -1051,7 +1050,7 @@ Author: Dmitriy Yefremov
</packing>
</child>
<child>
<object class="GtkSeparator" id="left_header_box_separator_2">
<object class="GtkSeparator" id="left_header_box_separator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1105,7 +1104,7 @@ Author: Dmitriy Yefremov
</packing>
</child>
<child>
<object class="GtkSeparator" id="left_header_box_separator_3">
<object class="GtkSeparator" id="left_header_box_separator_2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@@ -1162,12 +1161,13 @@ Author: Dmitriy Yefremov
</child>
</object>
<packing>
<property name="position">2</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkBox" id="right_header_box">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="spacing">1</property>
<child>
@@ -1347,7 +1347,6 @@ Author: Dmitriy Yefremov
<property name="orientation">vertical</property>
<child>
<object class="GtkPaned" id="main_paned">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="player_box">
@@ -2719,10 +2718,67 @@ Author: Dmitriy Yefremov
<property name="position">0</property>
</packing>
</child>
<child type="center">
<object class="GtkBox" id="app_info_box">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="orientation">vertical</property>
<signal name="key-press-event" handler="on_tree_view_key_press" object="services_tree_view" swapped="no"/>
<signal name="key-release-event" handler="on_tree_view_key_release" object="services_tree_view" swapped="no"/>
<child>
<object class="GtkImage" id="app_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-edit</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="app_name_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">DemonEditor</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="scale" value="3"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="app_ver_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">0.4.6 Pre-alpha</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</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="GtkBox" id="status_bar_box">
<property name="height_request">24</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="receiver_info_box">