starting edit sats by double click

This commit is contained in:
DYefremov
2021-10-19 09:00:14 +03:00
parent a735b3db13
commit a289b9fb53
2 changed files with 18 additions and 7 deletions

View File

@@ -1040,7 +1040,7 @@ Author: Dmitriy Yefremov
<property name="model">satellite_view_model</property>
<property name="rubber_banding">True</property>
<property name="activate_on_single_click">True</property>
<signal name="button-press-event" handler="on_popup_menu" object="satellite_popup_menu" swapped="no"/>
<signal name="button-press-event" handler="on_button_press" object="satellite_popup_menu" swapped="no"/>
<signal name="cursor-changed" handler="on_satellite_selection" swapped="no"/>
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
<child internal-child="selection">
@@ -1171,7 +1171,7 @@ Author: Dmitriy Yefremov
<property name="search_column">0</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<signal name="button-press-event" handler="on_popup_menu" object="transponder_popup_menu" swapped="no"/>
<signal name="button-press-event" handler="on_button_press" object="transponder_popup_menu" swapped="no"/>
<signal name="key-release-event" handler="on_key_release" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection" id="transponder_view_selection">

View File

@@ -30,6 +30,7 @@ import concurrent.futures
import re
import time
from math import fabs
from pyexpat import ExpatError
from gi.repository import GLib
@@ -59,7 +60,7 @@ class SatellitesTool(Gtk.Box):
"on_update": self.on_update,
"on_up": self.on_up,
"on_down": self.on_down,
"on_popup_menu": on_popup_menu,
"on_button_press": self.on_button_press,
"on_satellite_add": self.on_satellite_add,
"on_transponder_add": self.on_transponder_add,
"on_edit": self.on_edit,
@@ -116,6 +117,12 @@ class SatellitesTool(Gtk.Box):
def on_down(self, item):
move_items(KeyboardKey.DOWN, self._satellite_view)
def on_button_press(self, menu, event):
if event.get_event_type() == Gdk.EventType.DOUBLE_BUTTON_PRESS:
self.on_edit(self._satellite_view if self._satellite_view.is_focus() else self._transponder_view)
else:
on_popup_menu(menu, event)
def on_key_release(self, view, event):
""" Handling keystrokes """
key_code = event.hardware_keycode
@@ -141,16 +148,20 @@ class SatellitesTool(Gtk.Box):
def on_satellites_list_load(self, path=None):
""" Load satellites data into model """
model = self._satellite_view.get_model()
model.clear()
try:
satellites = get_satellites(path or self._settings.profile_data_path + "satellites.xml")
path = path or self._settings.profile_data_path + "satellites.xml"
satellites = get_satellites(path)
yield True
except FileNotFoundError as e:
msg = get_message("Please, download files from receiver or setup your path for read data!")
self._app.show_error_message(f"{e}\n{msg}")
return
except ExpatError as e:
msg = f"The file [{path}] is not formatted correctly or contains invalid characters! Cause: {e}"
self._app.show_error_message(msg)
else:
model = self._satellite_view.get_model()
model.clear()
for sat in satellites:
yield model.append(sat)