diff --git a/README.md b/README.md
index ce8d6061..ef056ae4 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,7 @@ Clipboard is **"rubber"**. There is an accumulation before the insertion!
* **Ctrl + S, T** in Satellites edit tool for create satellite or transponder.
* **Ctrl + L** - parental lock.
* **Ctrl + H** - hide/skip.
-* **P** - enable/disable preview mode for IPTV in the bouquet list.
-* **Enter** - start play IPTV or other stream in the bouquet list.
+* **Ctrl + P** - start play IPTV or other stream in the bouquet list.
* **Space** - select/deselect.
* **Left/Right** - remove selection.
* **Ctrl + Up, Down, PageUp, PageDown, Home, End** - move selected items in the list.
@@ -22,7 +21,7 @@ Clipboard is **"rubber"**. There is an accumulation before the insertion!
* Multiple selections in lists only with Space key (as in file managers).
* Ability to import IPTV into bouquet (Neutrino WEBTV) from m3u files.
* Ability to download picons and update satellites (transponders) from web.
-* Preview (playing) IPTV or other streams directly from the bouquet list(should be installed VLC).
+* Preview (playing) IPTV or other streams directly from the bouquet list(should be installed VLC).
### Minimum requirements:
Python >= 3.5.2 and GTK+ 3 with PyGObject bindings.
#### Note.
diff --git a/app/ui/lang/ru/LC_MESSAGES/demon-editor.mo b/app/ui/lang/ru/LC_MESSAGES/demon-editor.mo
index 930fd7b2..d124c433 100644
Binary files a/app/ui/lang/ru/LC_MESSAGES/demon-editor.mo and b/app/ui/lang/ru/LC_MESSAGES/demon-editor.mo differ
diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py
index 531c759e..3f201f93 100644
--- a/app/ui/main_app_window.py
+++ b/app/ui/main_app_window.py
@@ -111,11 +111,8 @@ class MainAppWindow:
"on_service_edit": self.on_service_edit,
"on_services_add_new": self.on_services_add_new,
"on_iptv": self.on_iptv,
+ "on_play_stream": self.on_play_stream,
"on_remove_all_unavailable": self.on_remove_all_unavailable,
- "on_fav_iptv_mode": self.on_fav_iptv_mode,
- "on_drawing_area_realize": self.on_drawing_area_realize,
- "on_player_press": self.on_player_press,
- "on_main_window_state": self.on_main_window_state,
"on_new_bouquet": self.on_new_bouquet,
"on_bouquets_edit": self.on_bouquets_edit,
"on_create_bouquet_for_current_satellite": self.on_create_bouquet_for_current_satellite,
@@ -158,13 +155,13 @@ class MainAppWindow:
self._services_model = builder.get_object("services_list_store")
self._bouquets_model = builder.get_object("bouquets_tree_store")
self._status_bar = builder.get_object("status_bar")
- self._player_frame = builder.get_object("player_frame")
- self._player_drawing_area = builder.get_object("player_drawing_area")
- # enabling events for the drawing area
- self._player_drawing_area.set_events(Gdk.ModifierType.BUTTON1_MASK)
- self._drawing_area_xid = None
+ # self._player_frame = builder.get_object("player_frame")
+ # self._player_drawing_area = builder.get_object("player_drawing_area")
+ # # enabling events for the drawing area
+ # self._player_drawing_area.set_events(Gdk.ModifierType.BUTTON1_MASK)
+ # self._drawing_area_xid = None
self._main_window_box = builder.get_object("main_window_box")
- self._fav_iptv_mode_popup_item = builder.get_object("fav_iptv_mode_popup_item")
+ # self._fav_iptv_mode_popup_item = builder.get_object("fav_iptv_mode_popup_item")
self._profile_label = builder.get_object("profile_label")
self._bq_name_label = builder.get_object("bq_name_label")
self._ip_label = builder.get_object("ip_label")
@@ -804,13 +801,8 @@ class MainAppWindow:
self.on_service_edit(view)
elif key == Gdk.KEY_Left or key == Gdk.KEY_Right:
view.do_unselect_all(view)
- elif (key == Gdk.KEY_P or key == Gdk.KEY_p) and model_name == self._FAV_LIST_NAME:
- self._iptv_preview_mode = not self._iptv_preview_mode
- self._fav_iptv_mode_popup_item.set_active(self._iptv_preview_mode)
- self.on_fav_iptv_mode(self._fav_iptv_mode_popup_item)
- elif (key == Gdk.KEY_Return or key == Gdk.KEY_KP_Enter) and model_name == self._FAV_LIST_NAME:
- if self._iptv_preview_mode:
- self.test_iptv()
+ elif ctrl and model_name == self._FAV_LIST_NAME and key in (Gdk.KEY_P, Gdk.KEY_p):
+ self.on_play_stream()
def on_download(self, item):
show_download_dialog(transient=self._main_window,
@@ -952,18 +944,12 @@ class MainAppWindow:
def on_edit_marker(self, view):
edit_marker(view, self._bouquets, self.get_selected_bouquet(), self._services, self._main_window)
- def on_fav_iptv_mode(self, item):
- self._iptv_preview_mode = item.get_active()
- self._player_frame.set_visible(self._iptv_preview_mode)
- if not self._iptv_preview_mode:
- self.on_player_stop(None)
-
def on_fav_press(self, menu, event):
self.on_view_popup_menu(menu, event)
- if self._iptv_preview_mode and event.get_event_type() == Gdk.EventType.DOUBLE_BUTTON_PRESS:
- self.test_iptv()
+ if event.get_event_type() == Gdk.EventType.DOUBLE_BUTTON_PRESS:
+ self.on_play_stream()
- def test_iptv(self):
+ def on_play_stream(self, item=None):
path, column = self._fav_view.get_cursor()
if path:
row = self._fav_model[path][:]
@@ -979,8 +965,6 @@ class MainAppWindow:
self._player = Player.get_vlc_instance().media_player_new()
except (NameError, AttributeError):
show_dialog(DialogType.ERROR, self._main_window, "No VLC is found. Check that it is installed!")
- else:
- self._player.set_xwindow(self._drawing_area_xid)
if self._player:
self._player.set_mrl(url)
@@ -1021,24 +1005,6 @@ class MainAppWindow:
if self._player:
self._player.stop() if self._player.is_playing() else self._player.play()
- def on_main_window_state(self, window, event):
- if event.new_window_state & Gdk.WindowState.FULLSCREEN:
- if self._main_window_box in window:
- window.remove(self._main_window_box)
- self._player_drawing_area.reparent(window)
- if self._player:
- self._player.set_xwindow(self._player_drawing_area.get_window().get_xid())
- else:
- if self._player_drawing_area in window:
- window.remove(self._player_drawing_area)
- window.add(self._main_window_box)
- self._player_frame.add(self._player_drawing_area)
- if self._player:
- self._player.set_xwindow(self._player_drawing_area.get_window().get_xid())
-
- def on_drawing_area_realize(self, widget):
- self._drawing_area_xid = widget.get_window().get_xid()
-
def on_locate_in_services(self, view):
locate_in_services(view, self._services_view, self._main_window)
diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade
index e9f1a463..e8d673e6 100644
--- a/app/ui/main_window.glade
+++ b/app/ui/main_window.glade
@@ -370,11 +370,13 @@ Author: Dmitriy Yefremov
True
False
-
@@ -662,7 +664,6 @@ Author: Dmitriy Yefremov
DemonEditor
-
-