Public Access
fix ctrl+s missing in config pane
This commit is contained in:
@@ -239,7 +239,6 @@ class DamarisGUI:
|
|||||||
"on_display_y_scaling_combobox_changed": self.monitor.display_scaling_changed,
|
"on_display_y_scaling_combobox_changed": self.monitor.display_scaling_changed,
|
||||||
"on_display_save_data_as_text_button_clicked": self.monitor.save_display_data_as_text,
|
"on_display_save_data_as_text_button_clicked": self.monitor.save_display_data_as_text,
|
||||||
"on_display_copy_data_to_clipboard_button_clicked": self.monitor.copy_display_data_to_clipboard,
|
"on_display_copy_data_to_clipboard_button_clicked": self.monitor.copy_display_data_to_clipboard,
|
||||||
"on_data_handling_textview_event": self.sw.textviews_modified,
|
|
||||||
"on_experiment_script_textview_event": self.sw.textviews_modified,
|
"on_experiment_script_textview_event": self.sw.textviews_modified,
|
||||||
"on_main_notebook_switch_page": self.nopevent,
|
"on_main_notebook_switch_page": self.nopevent,
|
||||||
"main_window_close": self.nopevent
|
"main_window_close": self.nopevent
|
||||||
@@ -2256,6 +2255,13 @@ class ConfigTab:
|
|||||||
self.config_data_pool_comprate.set_tooltip_text("Use 1 for best compression, 9 for best speed; 3 is very usable")
|
self.config_data_pool_comprate.set_tooltip_text("Use 1 for best compression, 9 for best speed; 3 is very usable")
|
||||||
self.config_info_textview = self.xml_gui.get_object( "info_textview" )
|
self.config_info_textview = self.xml_gui.get_object( "info_textview" )
|
||||||
self.config_script_font_button = self.xml_gui.get_object( "script_fontbutton" )
|
self.config_script_font_button = self.xml_gui.get_object( "script_fontbutton" )
|
||||||
|
|
||||||
|
# Connect keyboard event handlers for Ctrl+S support
|
||||||
|
self.config_info_textview.connect("key-press-event", self.config_keypress)
|
||||||
|
self.config_backend_executable_entry.connect("key-press-event", self.config_keypress)
|
||||||
|
self.config_spool_dir_entry.connect("key-press-event", self.config_keypress)
|
||||||
|
self.config_data_pool_name_entry.connect("key-press-event", self.config_keypress)
|
||||||
|
self.config_data_pool_write_interval_entry.connect("key-press-event", self.config_keypress)
|
||||||
|
|
||||||
# ADC bit depth setting
|
# ADC bit depth setting
|
||||||
self.config_adc_bit_depth_hbox = gtk.HBox(homogeneous=False, spacing=6)
|
self.config_adc_bit_depth_hbox = gtk.HBox(homogeneous=False, spacing=6)
|
||||||
@@ -2264,6 +2270,7 @@ class ConfigTab:
|
|||||||
self.config_adc_bit_depth_spinbutton.set_value(ADC_Result.default_bit_depth)
|
self.config_adc_bit_depth_spinbutton.set_value(ADC_Result.default_bit_depth)
|
||||||
self.config_adc_bit_depth_spinbutton.set_tooltip_text("Set the default bit depth for clipping detection (e.g., 14 for 14-bit ADCs).")
|
self.config_adc_bit_depth_spinbutton.set_tooltip_text("Set the default bit depth for clipping detection (e.g., 14 for 14-bit ADCs).")
|
||||||
self.config_adc_bit_depth_spinbutton.connect("value-changed", self.on_adc_bit_depth_changed)
|
self.config_adc_bit_depth_spinbutton.connect("value-changed", self.on_adc_bit_depth_changed)
|
||||||
|
self.config_adc_bit_depth_spinbutton.connect("key-press-event", self.config_keypress)
|
||||||
self.config_adc_bit_depth_hbox.pack_start(self.config_adc_bit_depth_label, False, False, 0)
|
self.config_adc_bit_depth_hbox.pack_start(self.config_adc_bit_depth_label, False, False, 0)
|
||||||
self.config_adc_bit_depth_hbox.pack_start(self.config_adc_bit_depth_spinbutton, False, False, 0)
|
self.config_adc_bit_depth_hbox.pack_start(self.config_adc_bit_depth_spinbutton, False, False, 0)
|
||||||
backend_vbox = self.xml_gui.get_object("vbox4")
|
backend_vbox = self.xml_gui.get_object("vbox4")
|
||||||
@@ -2297,6 +2304,7 @@ class ConfigTab:
|
|||||||
self.config_temp_device_entry = gtk.Entry()
|
self.config_temp_device_entry = gtk.Entry()
|
||||||
self.config_temp_device_entry.set_tooltip_text("Serial port device (e.g., /dev/serial/by-id/...)")
|
self.config_temp_device_entry.set_tooltip_text("Serial port device (e.g., /dev/serial/by-id/...)")
|
||||||
self.config_temp_device_entry.set_width_chars(30)
|
self.config_temp_device_entry.set_width_chars(30)
|
||||||
|
self.config_temp_device_entry.connect("key-press-event", self.config_keypress)
|
||||||
self.config_temp_device_button = gtk.Button(label="...")
|
self.config_temp_device_button = gtk.Button(label="...")
|
||||||
self.config_temp_device_button.set_tooltip_text("Browse for temperature controller device")
|
self.config_temp_device_button.set_tooltip_text("Browse for temperature controller device")
|
||||||
self.config_temp_device_button.connect("clicked", self.on_temp_device_browse_clicked)
|
self.config_temp_device_button.connect("clicked", self.on_temp_device_browse_clicked)
|
||||||
@@ -2311,6 +2319,7 @@ class ConfigTab:
|
|||||||
self.config_temp_interval_spinbutton = gtk.SpinButton.new_with_range(0.1, 60, 0.1)
|
self.config_temp_interval_spinbutton = gtk.SpinButton.new_with_range(0.1, 60, 0.1)
|
||||||
self.config_temp_interval_spinbutton.set_value(2.0) # Default to 2 seconds
|
self.config_temp_interval_spinbutton.set_value(2.0) # Default to 2 seconds
|
||||||
self.config_temp_interval_spinbutton.set_tooltip_text("Time between temperature readings in seconds")
|
self.config_temp_interval_spinbutton.set_tooltip_text("Time between temperature readings in seconds")
|
||||||
|
self.config_temp_interval_spinbutton.connect("key-press-event", self.config_keypress)
|
||||||
|
|
||||||
self.config_temp_interval_hbox = gtk.HBox(homogeneous=False, spacing=6)
|
self.config_temp_interval_hbox = gtk.HBox(homogeneous=False, spacing=6)
|
||||||
self.config_temp_interval_hbox.pack_start(self.config_temp_interval_label, False, False, 0)
|
self.config_temp_interval_hbox.pack_start(self.config_temp_interval_label, False, False, 0)
|
||||||
@@ -2634,6 +2643,17 @@ pygobject version %(pygobject)s
|
|||||||
def save_config_handler( self, widget ):
|
def save_config_handler( self, widget ):
|
||||||
self.save_config( )
|
self.save_config( )
|
||||||
|
|
||||||
|
def config_keypress( self, widget, event ):
|
||||||
|
"""
|
||||||
|
Handle keyboard shortcuts in configuration window
|
||||||
|
"""
|
||||||
|
if event.state & gdk.ModifierType.CONTROL_MASK != 0:
|
||||||
|
if event.keyval == gdk.keyval_from_name( "s" ):
|
||||||
|
# Save configuration with Ctrl+S
|
||||||
|
self.save_config( )
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def set_script_font_handler( self, widget ):
|
def set_script_font_handler( self, widget ):
|
||||||
"""
|
"""
|
||||||
handles changes in font name
|
handles changes in font name
|
||||||
|
|||||||
@@ -924,7 +924,6 @@ Public License instead of this License.
|
|||||||
<object class="GtkSourceView" id="data_handling_textview">
|
<object class="GtkSourceView" id="data_handling_textview">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">True</property>
|
<property name="can-focus">True</property>
|
||||||
<signal name="event" handler="on_data_handling_textview_event" swapped="no"/>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
Reference in New Issue
Block a user