From e4f8a075f4316984cb97d9066daf98b5543afcc4 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Wed, 1 Aug 2018 11:05:29 +0300 Subject: [PATCH] removed preview mode elements for IPTV --- README.md | 5 +- app/ui/lang/ru/LC_MESSAGES/demon-editor.mo | Bin 11716 -> 11649 bytes app/ui/main_app_window.py | 58 +---- app/ui/main_window.glade | 236 ++++++++---------- .../locale/ru/LC_MESSAGES/demon-editor.mo | Bin 11716 -> 11649 bytes po/ru/demon-editor.mo | Bin 11716 -> 11649 bytes po/ru/demon-editor.po | 3 - 7 files changed, 115 insertions(+), 187 deletions(-) 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 930fd7b23180062d339497970ea15cbeef722150..d124c433718bc3d85b4f19fd8880885995f21442 100644 GIT binary patch delta 3175 zcmYk+drZ}39LMnoQqsj$mPOEC7EME~*|4^#W@=lSXzvd^w0=9^-|KmPm*?_*p5Hl}w=U23 zLwLXr!_h#*5|M$%{D|&QP8=IO#`MEY*avrG4DPe__mQ7D%_#_5@jg6l1A~7vs1-9rau(YL%8FZJM>HcIuGHnf(}z zNA3M)ROZg3Ch#lzRQQvEI{e$(g-WSEY0#RxQK{^YDHw}UIK?{8T8`>)I}XKT$j^Mk zNlVp%YVQ`RzpgOypG3i*VX+xZvUM~Lrk;Ts$ZS;V=c8s=j>^C$)C9I-_ufEtbO6 zhf!#T9^{eSzcX zV-=1-&Fm1Wy$?_``~tNE=aHZ3KzsUdUgVa+{4bDQ%xEOiF z)S{j{j1S;PsOLNE{eJYOB}hiHZPHN#o@%c@kNT>LQSEF&p9&2W^x#SB=ctC;Fdy&X z2+U_)v?LpmOQs3+fAB48hWdmwa}R0>qHq`vLk)Ne#^X}dSLVdo@Bb7R^cQ;>^;z7p zy11wj$DlHji4$=e(x<6Ke&z@#ElDf#s=1EI*q@hmJrm<`9%>?0$f}v+gMB?C{fZ0h zC)0*n(@xYtuA^q;7vGaoH|82fkK8h))~%?eI&M9O%HR!KAH>Z>>XT6aCks&RFZ5BE zN?|o>DVk9ow&Ntcidxeo@-+t2Pz@ELo~uEneitg$Zz8XlR_kx54D{ubQ9I*t4nB@g zqVE8OItrbrnN`q=Y(b@J0KEm{WYix^j;+r`%^)8&@I|Qad<|-;YEdaZh#J6Y)E?`= z(fAjVL7y3(#NRI$o;j zdibWpppoXGW>SVqZMD6=&DM|D`=@Xe_ghc{yoLH2g4l7|ltWMh z$ih^73biRKQSI+V4fq(&rGN7&1iX3Os`~ zs0>UaecH@rNV3dkRC_0ppSi#(2m?owe{B{w1vQk4{Fj(4)QiudALbJw1pS(oL>i$b z)9lpYG9s8*LFiaSlo8qwy~iF38;D$cK}$H3zku@4M89p$8=>B?z4p##+)3+ma6x7vA2L*|5tvAat`4lYMd_Dz=Tzl zSnvOiOiH_nI^uO=y_4b28uuEd8N>o&8lhu5p^f{jDjelKm?fwWr_wp<9_zQpx#Er} zDWP6VXt|4t-eU`eM~FaTEislzCuS4t2zF5S;jwC)HQ2JYYVT3eTfjo6z~c>kmC|CT Z(&P2p)wsj6GN>^+vMQ|cvqb-pe*rfoFH!&i delta 3223 zcmYk-3rv+|9LMnoK|P$qQGx2DfF4x5f>wA$OGRa4QkgTIm(-<8Bu(;~*Yp(>1+VDq z4Naw1ZDyGhFSU_qWjg2bFiXoeOJ~w_x@eNqw(R>mJT%|&e?QOjyzg^=-b2xZZznic z6JoX*u1X?V(cG9{rI#DmPQNj&u>zxUKeofqZ2m0rXU=nLfmbjVuc7MQMi2gDpU1Q^ zCYQVqTN>k-S4pVCYuFyAVhpZC{!FQL2l~i=j0t!cpTN_o`d5&#n;RI1w@~ljx8>1{ zM(xI;2Gk0@^lt+8K}S>rT`?Xrupefl2DS(TxC1rQ&ruy6v-xjO9h|fI3z$g$5QEDSh>j9bOjjLxtbWvzCZP5_8MTx_OviM58pm7bTGydE{17|g3FOaQ=ccW? zhiWgDQK&zE0_)#}L;?jI2Gid<1Urz=Lk(m)YU$^pX1ETu0u`tU?8C^}Ky`E&)$tkB z7W|BA{|@%V2F$?JMAko-#0cKf(r(9&cm%bimr*0GLv?uD=Ic?1r~%dSzo@g|rFWGF zPy-L5X4(UJ#q>rEBnOl5C5MFessQ!*EkHHoq7F?Zs-a`3nV!U_@Qn2;YDF4Q4M$T+ z1M;Ej1yJpza?@GKviYG%72}K}p`|KpDnN~RE2_f^j2tS|%nsV;$58{RMs<7(-*bmd8oY}jas4E)@8U+-~Uw#%}l%>isBs(erfF7UUwUZbqX9Jj0eRMSWdm=%}InBxE(}#S7NoPz~4PL`-Is zJ#jH=OFlv#nIAA6|3u9&g-=N{?}6Ha5O&5Pr~yyIAZ|)w{q?yWqM!?2ME%r0M12)) z$;fV~5oe)RWGoKCnMj}J0P<(fa?_U7Ax)UpRO*fysPeHGLrqRpg-# zXFh5G#n=lsqYmdujQszxCf(fBH&E7!#d-l!F`bw~=-N)aMU)WQ30-dxLx_3A0AdTFOFJ@%$RlRB!+n92C8V?;x|pCT zCG?5q5VPGPU!s32sa&EjvC4hl7YMB-rLAeYW;G?S{IT>>(k~J|VxxPQUI=*vd_-Oc8_=|9LFkDl+g3OVKCu)nr)!`Gh#grYY JT9y{$`43*fOOyZr 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 - + + gtk-media-play True False - Preview mode - + True + True + @@ -662,7 +664,6 @@ Author: Dmitriy Yefremov DemonEditor - True @@ -1694,159 +1695,124 @@ Author: Dmitriy Yefremov - + True True - vertical - True + 2 + in - - 30 - False - 0 - none - - - True - True - - - - - - - - - - True - True - - - - + True True - 2 - in + fav_list_store + 2 + True + both + True + + + + + + + + + multiple + + - - True - True - fav_list_store - 2 - True - both - True - - - - - - - - - multiple + + Num + + + 0.20000000298023224 + + 0 + + + + + + + True + 2 + autosize + Service + True + + + + 8 + - - Num - - - 0.20000000298023224 - - - 0 - - - + + + 1 + - - True - 2 - autosize - Service - True - - - - 8 - - - - - - 1 - - - - - - 2 - - - - - - 3 - - - - - - 4 - - - + + + 2 + - - Type - True - - - 0.50999999046325684 - - - 5 - - - + + + 3 + - - Pos - True - - - 0.50999999046325684 - - - 6 - - - + + + 4 + + + + + + Type + True - - False - fav_id - - - - 7 - - + + 0.50999999046325684 + + 5 + + + + + + + Pos + True + + + 0.50999999046325684 + + + 6 + + + + + + + False + fav_id + + + + 7 + - - True - True - diff --git a/deb/usr/share/locale/ru/LC_MESSAGES/demon-editor.mo b/deb/usr/share/locale/ru/LC_MESSAGES/demon-editor.mo index 930fd7b23180062d339497970ea15cbeef722150..d124c433718bc3d85b4f19fd8880885995f21442 100644 GIT binary patch delta 3175 zcmYk+drZ}39LMnoQqsj$mPOEC7EME~*|4^#W@=lSXzvd^w0=9^-|KmPm*?_*p5Hl}w=U23 zLwLXr!_h#*5|M$%{D|&QP8=IO#`MEY*avrG4DPe__mQ7D%_#_5@jg6l1A~7vs1-9rau(YL%8FZJM>HcIuGHnf(}z zNA3M)ROZg3Ch#lzRQQvEI{e$(g-WSEY0#RxQK{^YDHw}UIK?{8T8`>)I}XKT$j^Mk zNlVp%YVQ`RzpgOypG3i*VX+xZvUM~Lrk;Ts$ZS;V=c8s=j>^C$)C9I-_ufEtbO6 zhf!#T9^{eSzcX zV-=1-&Fm1Wy$?_``~tNE=aHZ3KzsUdUgVa+{4bDQ%xEOiF z)S{j{j1S;PsOLNE{eJYOB}hiHZPHN#o@%c@kNT>LQSEF&p9&2W^x#SB=ctC;Fdy&X z2+U_)v?LpmOQs3+fAB48hWdmwa}R0>qHq`vLk)Ne#^X}dSLVdo@Bb7R^cQ;>^;z7p zy11wj$DlHji4$=e(x<6Ke&z@#ElDf#s=1EI*q@hmJrm<`9%>?0$f}v+gMB?C{fZ0h zC)0*n(@xYtuA^q;7vGaoH|82fkK8h))~%?eI&M9O%HR!KAH>Z>>XT6aCks&RFZ5BE zN?|o>DVk9ow&Ntcidxeo@-+t2Pz@ELo~uEneitg$Zz8XlR_kx54D{ubQ9I*t4nB@g zqVE8OItrbrnN`q=Y(b@J0KEm{WYix^j;+r`%^)8&@I|Qad<|-;YEdaZh#J6Y)E?`= z(fAjVL7y3(#NRI$o;j zdibWpppoXGW>SVqZMD6=&DM|D`=@Xe_ghc{yoLH2g4l7|ltWMh z$ih^73biRKQSI+V4fq(&rGN7&1iX3Os`~ zs0>UaecH@rNV3dkRC_0ppSi#(2m?owe{B{w1vQk4{Fj(4)QiudALbJw1pS(oL>i$b z)9lpYG9s8*LFiaSlo8qwy~iF38;D$cK}$H3zku@4M89p$8=>B?z4p##+)3+ma6x7vA2L*|5tvAat`4lYMd_Dz=Tzl zSnvOiOiH_nI^uO=y_4b28uuEd8N>o&8lhu5p^f{jDjelKm?fwWr_wp<9_zQpx#Er} zDWP6VXt|4t-eU`eM~FaTEislzCuS4t2zF5S;jwC)HQ2JYYVT3eTfjo6z~c>kmC|CT Z(&P2p)wsj6GN>^+vMQ|cvqb-pe*rfoFH!&i delta 3223 zcmYk-3rv+|9LMnoK|P$qQGx2DfF4x5f>wA$OGRa4QkgTIm(-<8Bu(;~*Yp(>1+VDq z4Naw1ZDyGhFSU_qWjg2bFiXoeOJ~w_x@eNqw(R>mJT%|&e?QOjyzg^=-b2xZZznic z6JoX*u1X?V(cG9{rI#DmPQNj&u>zxUKeofqZ2m0rXU=nLfmbjVuc7MQMi2gDpU1Q^ zCYQVqTN>k-S4pVCYuFyAVhpZC{!FQL2l~i=j0t!cpTN_o`d5&#n;RI1w@~ljx8>1{ zM(xI;2Gk0@^lt+8K}S>rT`?Xrupefl2DS(TxC1rQ&ruy6v-xjO9h|fI3z$g$5QEDSh>j9bOjjLxtbWvzCZP5_8MTx_OviM58pm7bTGydE{17|g3FOaQ=ccW? zhiWgDQK&zE0_)#}L;?jI2Gid<1Urz=Lk(m)YU$^pX1ETu0u`tU?8C^}Ky`E&)$tkB z7W|BA{|@%V2F$?JMAko-#0cKf(r(9&cm%bimr*0GLv?uD=Ic?1r~%dSzo@g|rFWGF zPy-L5X4(UJ#q>rEBnOl5C5MFessQ!*EkHHoq7F?Zs-a`3nV!U_@Qn2;YDF4Q4M$T+ z1M;Ej1yJpza?@GKviYG%72}K}p`|KpDnN~RE2_f^j2tS|%nsV;$58{RMs<7(-*bmd8oY}jas4E)@8U+-~Uw#%}l%>isBs(erfF7UUwUZbqX9Jj0eRMSWdm=%}InBxE(}#S7NoPz~4PL`-Is zJ#jH=OFlv#nIAA6|3u9&g-=N{?}6Ha5O&5Pr~yyIAZ|)w{q?yWqM!?2ME%r0M12)) z$;fV~5oe)RWGoKCnMj}J0P<(fa?_U7Ax)UpRO*fysPeHGLrqRpg-# zXFh5G#n=lsqYmdujQszxCf(fBH&E7!#d-l!F`bw~=-N)aMU)WQ30-dxLx_3A0AdTFOFJ@%$RlRB!+n92C8V?;x|pCT zCG?5q5VPGPU!s32sa&EjvC4hl7YMB-rLAeYW;G?S{IT>>(k~J|VxxPQUI=*vd_-Oc8_=|9LFkDl+g3OVKCu)nr)!`Gh#grYY JT9y{$`43*fOOyZr diff --git a/po/ru/demon-editor.mo b/po/ru/demon-editor.mo index 930fd7b23180062d339497970ea15cbeef722150..d124c433718bc3d85b4f19fd8880885995f21442 100644 GIT binary patch delta 3175 zcmYk+drZ}39LMnoQqsj$mPOEC7EME~*|4^#W@=lSXzvd^w0=9^-|KmPm*?_*p5Hl}w=U23 zLwLXr!_h#*5|M$%{D|&QP8=IO#`MEY*avrG4DPe__mQ7D%_#_5@jg6l1A~7vs1-9rau(YL%8FZJM>HcIuGHnf(}z zNA3M)ROZg3Ch#lzRQQvEI{e$(g-WSEY0#RxQK{^YDHw}UIK?{8T8`>)I}XKT$j^Mk zNlVp%YVQ`RzpgOypG3i*VX+xZvUM~Lrk;Ts$ZS;V=c8s=j>^C$)C9I-_ufEtbO6 zhf!#T9^{eSzcX zV-=1-&Fm1Wy$?_``~tNE=aHZ3KzsUdUgVa+{4bDQ%xEOiF z)S{j{j1S;PsOLNE{eJYOB}hiHZPHN#o@%c@kNT>LQSEF&p9&2W^x#SB=ctC;Fdy&X z2+U_)v?LpmOQs3+fAB48hWdmwa}R0>qHq`vLk)Ne#^X}dSLVdo@Bb7R^cQ;>^;z7p zy11wj$DlHji4$=e(x<6Ke&z@#ElDf#s=1EI*q@hmJrm<`9%>?0$f}v+gMB?C{fZ0h zC)0*n(@xYtuA^q;7vGaoH|82fkK8h))~%?eI&M9O%HR!KAH>Z>>XT6aCks&RFZ5BE zN?|o>DVk9ow&Ntcidxeo@-+t2Pz@ELo~uEneitg$Zz8XlR_kx54D{ubQ9I*t4nB@g zqVE8OItrbrnN`q=Y(b@J0KEm{WYix^j;+r`%^)8&@I|Qad<|-;YEdaZh#J6Y)E?`= z(fAjVL7y3(#NRI$o;j zdibWpppoXGW>SVqZMD6=&DM|D`=@Xe_ghc{yoLH2g4l7|ltWMh z$ih^73biRKQSI+V4fq(&rGN7&1iX3Os`~ zs0>UaecH@rNV3dkRC_0ppSi#(2m?owe{B{w1vQk4{Fj(4)QiudALbJw1pS(oL>i$b z)9lpYG9s8*LFiaSlo8qwy~iF38;D$cK}$H3zku@4M89p$8=>B?z4p##+)3+ma6x7vA2L*|5tvAat`4lYMd_Dz=Tzl zSnvOiOiH_nI^uO=y_4b28uuEd8N>o&8lhu5p^f{jDjelKm?fwWr_wp<9_zQpx#Er} zDWP6VXt|4t-eU`eM~FaTEislzCuS4t2zF5S;jwC)HQ2JYYVT3eTfjo6z~c>kmC|CT Z(&P2p)wsj6GN>^+vMQ|cvqb-pe*rfoFH!&i delta 3223 zcmYk-3rv+|9LMnoK|P$qQGx2DfF4x5f>wA$OGRa4QkgTIm(-<8Bu(;~*Yp(>1+VDq z4Naw1ZDyGhFSU_qWjg2bFiXoeOJ~w_x@eNqw(R>mJT%|&e?QOjyzg^=-b2xZZznic z6JoX*u1X?V(cG9{rI#DmPQNj&u>zxUKeofqZ2m0rXU=nLfmbjVuc7MQMi2gDpU1Q^ zCYQVqTN>k-S4pVCYuFyAVhpZC{!FQL2l~i=j0t!cpTN_o`d5&#n;RI1w@~ljx8>1{ zM(xI;2Gk0@^lt+8K}S>rT`?Xrupefl2DS(TxC1rQ&ruy6v-xjO9h|fI3z$g$5QEDSh>j9bOjjLxtbWvzCZP5_8MTx_OviM58pm7bTGydE{17|g3FOaQ=ccW? zhiWgDQK&zE0_)#}L;?jI2Gid<1Urz=Lk(m)YU$^pX1ETu0u`tU?8C^}Ky`E&)$tkB z7W|BA{|@%V2F$?JMAko-#0cKf(r(9&cm%bimr*0GLv?uD=Ic?1r~%dSzo@g|rFWGF zPy-L5X4(UJ#q>rEBnOl5C5MFessQ!*EkHHoq7F?Zs-a`3nV!U_@Qn2;YDF4Q4M$T+ z1M;Ej1yJpza?@GKviYG%72}K}p`|KpDnN~RE2_f^j2tS|%nsV;$58{RMs<7(-*bmd8oY}jas4E)@8U+-~Uw#%}l%>isBs(erfF7UUwUZbqX9Jj0eRMSWdm=%}InBxE(}#S7NoPz~4PL`-Is zJ#jH=OFlv#nIAA6|3u9&g-=N{?}6Ha5O&5Pr~yyIAZ|)w{q?yWqM!?2ME%r0M12)) z$;fV~5oe)RWGoKCnMj}J0P<(fa?_U7Ax)UpRO*fysPeHGLrqRpg-# zXFh5G#n=lsqYmdujQszxCf(fBH&E7!#d-l!F`bw~=-N)aMU)WQ30-dxLx_3A0AdTFOFJ@%$RlRB!+n92C8V?;x|pCT zCG?5q5VPGPU!s32sa&EjvC4hl7YMB-rLAeYW;G?S{IT>>(k~J|VxxPQUI=*vd_-Oc8_=|9LFkDl+g3OVKCu)nr)!`Gh#grYY JT9y{$`43*fOOyZr diff --git a/po/ru/demon-editor.po b/po/ru/demon-editor.po index b4d54093..0216c508 100644 --- a/po/ru/demon-editor.po +++ b/po/ru/demon-editor.po @@ -88,9 +88,6 @@ msgstr "Скрыть/Пропустить Вкл/Выкл Ctrl + H" msgid "Add IPTV or stream service" msgstr "Добавить IPTV или поток" -msgid "Preview mode" -msgstr "Режим предпросмотра" - msgid "Import m3u" msgstr "Импортировать m3u"