remote control improvement

This commit is contained in:
DYefremov
2022-07-28 00:17:44 +03:00
parent 00cbe43aa7
commit 0b87f4f143
3 changed files with 199 additions and 65 deletions

View File

@@ -649,10 +649,16 @@ class HttpAPI:
EXIT = "174"
OK = "352"
INFO = "358"
TV = "377"
RADIO = "385"
AUDIO = "392"
FAV = "393"
RED = "398"
GREEN = "399"
YELLOW = "400"
BLUE = "401"
CH_UP = "402"
CH_DOWN = "403"
BACK = "412"
class Power(str, Enum):

View File

@@ -363,6 +363,27 @@ Author: Dmitriy Yefremov
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkViewport" id="screenshot_view_port">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">2</property>
<property name="margin_right">2</property>
<property name="margin_top">2</property>
<property name="margin_bottom">2</property>
<child>
<object class="GtkDrawingArea" id="screenshot_area">
<property name="can_focus">False</property>
<signal name="draw" handler="on_screenshot_draw" swapped="no"/>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="remote_signal_box">
<property name="visible">True</property>
@@ -509,27 +530,6 @@ Author: Dmitriy Yefremov
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkViewport" id="screenshot_view_port">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">2</property>
<property name="margin_right">2</property>
<property name="margin_top">2</property>
<property name="margin_bottom">2</property>
<child>
<object class="GtkDrawingArea" id="screenshot_area">
<property name="can_focus">False</property>
<signal name="draw" handler="on_screenshot_draw" swapped="no"/>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
@@ -559,8 +559,8 @@ Author: Dmitriy Yefremov
<property name="valign">center</property>
<property name="margin_left">25</property>
<property name="margin_right">25</property>
<property name="margin_top">20</property>
<property name="margin_bottom">20</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
@@ -719,6 +719,69 @@ Author: Dmitriy Yefremov
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="row_spacing">5</property>
<property name="column_spacing">15</property>
<child>
<object class="GtkLabel" id="ch_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Ch</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ch_up_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_ch_up</property>
<child>
<object class="GtkArrow" id="ch_up_arrow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="arrow_type">up</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ch_down_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_ch_down</property>
<child>
<object class="GtkArrow" id="ch_down_arrow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="arrow_type">down</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
@@ -760,7 +823,7 @@ audio-volume-medium-symbolic</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
<property name="position">2</property>
</packing>
</child>
<child>
@@ -771,7 +834,7 @@ audio-volume-medium-symbolic</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
<property name="position">3</property>
</packing>
</child>
<child>
@@ -794,6 +857,26 @@ audio-volume-medium-symbolic</property>
<class name="red-button"/>
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="prev_button">
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_prev_media</property>
<child>
<object class="GtkImage" id="prev_button_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-skip-backward</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
@@ -812,6 +895,26 @@ audio-volume-medium-symbolic</property>
<class name="green-button"/>
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="play_button">
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_play_media</property>
<child>
<object class="GtkImage" id="play_button_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-playback-start</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
@@ -832,7 +935,7 @@ audio-volume-medium-symbolic</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
@@ -848,25 +951,6 @@ audio-volume-medium-symbolic</property>
<class name="blue-button"/>
</style>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="next_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_next_media</property>
<child>
<object class="GtkImage" id="next_button_imag">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-skip-forward</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
@@ -874,6 +958,7 @@ audio-volume-medium-symbolic</property>
</child>
<child>
<object class="GtkButton" id="stop_button">
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
@@ -888,52 +973,90 @@ audio-volume-medium-symbolic</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="play_button">
<object class="GtkButton" id="next_button">
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_play_media</property>
<property name="action_name">app.on_next_media</property>
<child>
<object class="GtkImage" id="play_button_image">
<object class="GtkImage" id="next_button_imag">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-playback-start</property>
<property name="icon_name">media-skip-forward</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="tv_button">
<property name="label" translatable="yes">TV</property>
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_tv</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="prev_button">
<object class="GtkButton" id="radio_button">
<property name="label" translatable="yes">Radio</property>
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_prev_media</property>
<child>
<object class="GtkImage" id="prev_button_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">media-skip-backward</property>
</object>
</child>
<property name="action_name">app.on_radio</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="audio_button">
<property name="label" translatable="yes">Audio</property>
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_audio</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="fav_button">
<property name="label" translatable="yes">FAV</property>
<property name="name">status-bar-button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">app.on_fav</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="position">4</property>
</packing>
</child>
<child>
@@ -945,12 +1068,12 @@ audio-volume-medium-symbolic</property>
<property name="halign">center</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="draw_indicator">True</property>
<property name="draw_indicator">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
<property name="position">5</property>
</packing>
</child>
<child>
@@ -958,7 +1081,6 @@ audio-volume-medium-symbolic</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="margin_top">15</property>
<property name="label_xalign">0.5</property>
<property name="shadow_type">none</property>
<child>

View File

@@ -92,10 +92,16 @@ class ControlTool(Gtk.Box):
app.set_action("on_ok", lambda a, v: self.on_remote_action(HttpAPI.Remote.OK))
app.set_action("on_menu", lambda a, v: self.on_remote_action(HttpAPI.Remote.MENU))
app.set_action("on_exit", lambda a, v: self.on_remote_action(HttpAPI.Remote.EXIT))
app.set_action("on_ch_up", lambda a, v: self.on_remote_action(HttpAPI.Remote.CH_UP))
app.set_action("on_ch_down", lambda a, v: self.on_remote_action(HttpAPI.Remote.CH_DOWN))
app.set_action("on_red", lambda a, v: self.on_remote_action(HttpAPI.Remote.RED))
app.set_action("on_green", lambda a, v: self.on_remote_action(HttpAPI.Remote.GREEN))
app.set_action("on_yellow", lambda a, v: self.on_remote_action(HttpAPI.Remote.YELLOW))
app.set_action("on_blue", lambda a, v: self.on_remote_action(HttpAPI.Remote.BLUE))
app.set_action("on_audio", lambda a, v: self.on_remote_action(HttpAPI.Remote.AUDIO))
app.set_action("on_tv", lambda a, v: self.on_remote_action(HttpAPI.Remote.TV))
app.set_action("on_radio", lambda a, v: self.on_remote_action(HttpAPI.Remote.RADIO))
app.set_action("on_fav", lambda a, v: self.on_remote_action(HttpAPI.Remote.FAV))
# Playback.
app.set_action("on_prev_media", lambda a, v: self.on_player_action(HttpAPI.Request.PLAYER_PREV))
app.set_action("on_play_media", lambda a, v: self.on_player_action(HttpAPI.Request.PLAYER_PLAY))