ui: add icons to rule editor buttons and implement Ctrl+S shortcut
This commit is contained in:
parent
bc51117f59
commit
4025b83dfd
|
@ -190,8 +190,16 @@ class DiversionDialog:
|
||||||
sw.set_size_request(0, 600)
|
sw.set_size_request(0, 600)
|
||||||
|
|
||||||
button_box = Gtk.HBox(spacing=20)
|
button_box = Gtk.HBox(spacing=20)
|
||||||
self.save_btn = Gtk.Button(_('Save changes'), halign=Gtk.Align.CENTER, valign=Gtk.Align.CENTER, sensitive=False)
|
self.save_btn = Gtk.Button.new_from_icon_name('document-save', Gtk.IconSize.BUTTON)
|
||||||
self.discard_btn = Gtk.Button(_('Discard changes'), halign=Gtk.Align.CENTER, valign=Gtk.Align.CENTER, sensitive=False)
|
self.save_btn.set_label('Save changes')
|
||||||
|
self.save_btn.set_always_show_image(True)
|
||||||
|
self.save_btn.set_sensitive(False)
|
||||||
|
self.save_btn.set_valign(Gtk.Align.CENTER)
|
||||||
|
self.discard_btn = Gtk.Button.new_from_icon_name('document-revert', Gtk.IconSize.BUTTON)
|
||||||
|
self.discard_btn.set_label('Discard changes')
|
||||||
|
self.discard_btn.set_always_show_image(True)
|
||||||
|
self.discard_btn.set_sensitive(False)
|
||||||
|
self.discard_btn.set_valign(Gtk.Align.CENTER)
|
||||||
self.save_btn.connect('clicked', lambda *_args: self._save_yaml_file())
|
self.save_btn.connect('clicked', lambda *_args: self._save_yaml_file())
|
||||||
self.discard_btn.connect('clicked', lambda *_args: self._reload_yaml_file())
|
self.discard_btn.connect('clicked', lambda *_args: self._reload_yaml_file())
|
||||||
button_box.pack_start(self.save_btn, False, False, 0)
|
button_box.pack_start(self.save_btn, False, False, 0)
|
||||||
|
@ -295,6 +303,7 @@ class DiversionDialog:
|
||||||
Ctrl + V paste below (or here if empty)
|
Ctrl + V paste below (or here if empty)
|
||||||
Ctrl + Shift + V paste above
|
Ctrl + Shift + V paste above
|
||||||
* flatten
|
* flatten
|
||||||
|
Ctrl + S save changes
|
||||||
'''
|
'''
|
||||||
state = e.state & (Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK)
|
state = e.state & (Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK)
|
||||||
m, it = v.get_selection().get_selected()
|
m, it = v.get_selection().get_selected()
|
||||||
|
@ -332,7 +341,9 @@ class DiversionDialog:
|
||||||
menu.show_all()
|
menu.show_all()
|
||||||
rect = self.view.get_cell_area(m.get_path(it), self.view.get_column(1))
|
rect = self.view.get_cell_area(m.get_path(it), self.view.get_column(1))
|
||||||
menu.popup_at_rect(self.window.get_window(), rect, Gdk.Gravity.WEST, Gdk.Gravity.CENTER, e)
|
menu.popup_at_rect(self.window.get_window(), rect, Gdk.Gravity.WEST, Gdk.Gravity.CENTER, e)
|
||||||
elif state & Gdk.ModifierType.CONTROL_MASK == 0:
|
elif self.dirty and e.keyval in [Gdk.KEY_s, Gdk.KEY_S]:
|
||||||
|
self._save_yaml_file()
|
||||||
|
else:
|
||||||
if can_wrap:
|
if can_wrap:
|
||||||
if e.keyval == Gdk.KEY_exclam:
|
if e.keyval == Gdk.KEY_exclam:
|
||||||
self._menu_do_negate(None, m, it)
|
self._menu_do_negate(None, m, it)
|
||||||
|
|
Loading…
Reference in New Issue