little refactoring in UI for edit/rename

This commit is contained in:
DYefremov
2018-02-18 11:23:31 +03:00
parent 074fc960e5
commit 5a76601ae6
4 changed files with 29 additions and 47 deletions

View File

@@ -5,13 +5,13 @@ Experimental support of Neutrino-MP or others on the same basis (BPanther, etc).
Focused on the convenience of working in lists from the keyboard. The mouse is also fully supported (Drag and Drop etc) Focused on the convenience of working in lists from the keyboard. The mouse is also fully supported (Drag and Drop etc)
### Keyboard shortcuts: ### Keyboard shortcuts:
Ctrl + X, C, V, Up, Down, PageUp, PageDown, S, T, E, L, H, Space; Insert, Delete, F2. Ctrl + X, C, V, Up, Down, PageUp, PageDown, S, T, E, L, H, Space; Insert, Delete, F2.
Insert - copies the selected channels from the main list to the bouquet or inserts (creates) a new bouquet. Insert - copies the selected channels from the main list to the bouquet or inserts (creates) a new bouquet.
Ctrl + X - only in bouquet list. Ctrl + C - only in services list. Ctrl + X - only in bouquet list. Ctrl + C - only in services list.
Clipboard is "rubber". There is an accumulation before the insertion! Clipboard is "rubber". There is an accumulation before the insertion!
Ctrl + E, F2 - edit. Ctrl + E - edit.
Ctrl + R - rename. Ctrl + R, F2 - rename.
Ctrl + S, T, E in Satellites edit tool for create and edit satellite or transponder. Ctrl + S, T in Satellites edit tool for create satellite or transponder.
Ctrl + L - parental lock. Ctrl + L - parental lock.
Ctrl + H - hide/skip. Ctrl + H - hide/skip.
Left/Right - remove selection. Left/Right - remove selection.

View File

@@ -14,7 +14,7 @@ from app.properties import get_config, write_config, Profile
from . import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON, IPTV_ICON from . import Gtk, Gdk, UI_RESOURCES_PATH, LOCKED_ICON, HIDE_ICON, IPTV_ICON
from .dialogs import show_dialog, DialogType, get_chooser_dialog from .dialogs import show_dialog, DialogType, get_chooser_dialog
from .download_dialog import show_download_dialog from .download_dialog import show_download_dialog
from .main_helper import edit_marker, insert_marker, move_items, edit, ViewTarget, set_flags, locate_in_services, \ from .main_helper import edit_marker, insert_marker, move_items, rename, ViewTarget, set_flags, locate_in_services, \
scroll_to, get_base_model, update_picons, copy_picon_reference, assign_picon, remove_picon, search scroll_to, get_base_model, update_picons, copy_picon_reference, assign_picon, remove_picon, search
from .picons_dialog import PiconsDialog from .picons_dialog import PiconsDialog
from .satellites_dialog import show_satellites_dialog from .satellites_dialog import show_satellites_dialog
@@ -76,7 +76,7 @@ class MainAppWindow:
"on_cut": self.on_cut, "on_cut": self.on_cut,
"on_copy": self.on_copy, "on_copy": self.on_copy,
"on_paste": self.on_paste, "on_paste": self.on_paste,
"on_edit": self.on_edit, "on_edit": self.on_rename,
"on_delete": self.on_delete, "on_delete": self.on_delete,
"on_new_bouquet": self.on_new_bouquet, "on_new_bouquet": self.on_new_bouquet,
"on_bouquets_edit": self.on_bouquets_edit, "on_bouquets_edit": self.on_bouquets_edit,
@@ -103,7 +103,7 @@ class MainAppWindow:
"on_filter_toggled": self.on_filter_toggled, "on_filter_toggled": self.on_filter_toggled,
"on_search_toggled": self.on_search_toggled, "on_search_toggled": self.on_search_toggled,
"on_search": self.on_search, "on_search": self.on_search,
"on_services_data_edit": self.on_services_data_edit} "on_service_edit": self.on_service_edit}
self.__options = get_config() self.__options = get_config()
self.__profile = self.__options.get("profile") self.__profile = self.__options.get("profile")
@@ -239,16 +239,17 @@ class MainAppWindow:
self.__rows_buffer.clear() self.__rows_buffer.clear()
self.on_view_focus(view, None) self.on_view_focus(view, None)
def on_edit(self, view): def on_rename(self, view):
model = get_base_model(view.get_model()) model = get_base_model(view.get_model())
name = model.get_name() name = model.get_name()
if name == self._BOUQUETS_LIST_NAME: if name == self._BOUQUETS_LIST_NAME:
self.on_bouquets_edit(view) self.on_bouquets_edit(view)
# edit(view, self.__main_window, ViewTarget.BOUQUET) # edit(view, self.__main_window, ViewTarget.BOUQUET)
elif name == self._FAV_LIST_NAME: elif name == self._FAV_LIST_NAME:
edit(view, self.__main_window, ViewTarget.FAV, service_view=self.__services_view, channels=self.__services) rename(view, self.__main_window, ViewTarget.FAV, service_view=self.__services_view,
channels=self.__services)
elif name == self._SERVICE_LIST_NAME: elif name == self._SERVICE_LIST_NAME:
edit(view, self.__main_window, ViewTarget.SERVICES, fav_view=self.__fav_view, channels=self.__services) rename(view, self.__main_window, ViewTarget.SERVICES, fav_view=self.__fav_view, channels=self.__services)
def on_delete(self, item): def on_delete(self, item):
""" Delete selected items from views """ Delete selected items from views
@@ -361,11 +362,11 @@ class MainAppWindow:
def on_tool_edit(self, item): def on_tool_edit(self, item):
""" Edit tool bar button """ """ Edit tool bar button """
if self.__services_view.is_focus(): if self.__services_view.is_focus():
self.on_edit(self.__services_view) self.on_rename(self.__services_view)
elif self.__fav_view.is_focus(): elif self.__fav_view.is_focus():
self.on_edit(self.__fav_view) self.on_rename(self.__fav_view)
elif self.__bouquets_view.is_focus(): elif self.__bouquets_view.is_focus():
self.on_edit(self.__bouquets_view) self.on_rename(self.__bouquets_view)
def on_bouquets_edit(self, view): def on_bouquets_edit(self, view):
""" Rename bouquets """ """ Rename bouquets """
@@ -708,15 +709,13 @@ class MainAppWindow:
self.on_locked(None) self.on_locked(None)
elif ctrl and key == Gdk.KEY_h or key == Gdk.KEY_H: elif ctrl and key == Gdk.KEY_h or key == Gdk.KEY_H:
self.on_hide(None) self.on_hide(None)
elif ctrl and key == Gdk.KEY_R or key == Gdk.KEY_r: elif ctrl and key == Gdk.KEY_R or key == Gdk.KEY_r or key == Gdk.KEY_F2:
self.on_edit(view) self.on_rename(view)
elif ctrl and key == Gdk.KEY_E or key == Gdk.KEY_e or key == Gdk.KEY_F2: elif ctrl and key == Gdk.KEY_E or key == Gdk.KEY_e:
if model_name == self._BOUQUETS_LIST_NAME: if model_name == self._BOUQUETS_LIST_NAME:
self.on_edit(view) self.on_rename(view)
return return
elif model_name == self._FAV_LIST_NAME: self.on_service_edit(view)
self.on_locate_in_services(view)
self.on_services_data_edit(view)
elif key == Gdk.KEY_Left or key == Gdk.KEY_Right: elif key == Gdk.KEY_Left or key == Gdk.KEY_Right:
view.do_unselect_all(view) view.do_unselect_all(view)
@@ -897,7 +896,11 @@ class MainAppWindow:
self.__bouquets) self.__bouquets)
@run_idle @run_idle
def on_services_data_edit(self, item): def on_service_edit(self, view):
model_name = get_base_model(view.get_model()).get_name()
if model_name == self._FAV_LIST_NAME:
self.on_locate_in_services(view)
dialog = ServiceDetailsDialog(self.__main_window, self.__options, self.__services_view) dialog = ServiceDetailsDialog(self.__main_window, self.__options, self.__services_view)
dialog.show() dialog.show()

View File

@@ -96,9 +96,9 @@ def move_items(key, view):
model.move_after(itr, down_itr) model.move_after(itr, down_itr)
# ***************** Edit *******************# # ***************** Rename *******************#
def edit(view, parent_window, target, fav_view=None, service_view=None, channels=None): def rename(view, parent_window, target, fav_view=None, service_view=None, channels=None):
model, paths = view.get_selection().get_selected_rows() model, paths = view.get_selection().get_selected_rows()
model = get_base_model(model) model = get_base_model(model)

View File

@@ -117,11 +117,6 @@
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-copy</property> <property name="stock">gtk-copy</property>
</object> </object>
<object class="GtkImage" id="image17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-properties</property>
</object>
<object class="GtkImage" id="image4"> <object class="GtkImage" id="image4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
@@ -175,7 +170,7 @@
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="activate" handler="on_edit" object="fav_tree_view" swapped="no"/> <signal name="activate" handler="on_service_edit" object="fav_tree_view" swapped="no"/>
</object> </object>
</child> </child>
<child> <child>
@@ -369,23 +364,7 @@
<property name="resize_mode">immediate</property> <property name="resize_mode">immediate</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="activate" handler="on_edit" object="services_tree_view" swapped="no"/> <signal name="activate" handler="on_service_edit" object="services_tree_view" swapped="no"/>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="separatormenuitem7">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="services_data_edit_popup_item">
<property name="label" translatable="yes">Show details/edit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="image">image17</property>
<property name="use_stock">False</property>
<signal name="activate" handler="on_services_data_edit" object="services_tree_view" swapped="no"/>
</object> </object>
</child> </child>
<child> <child>