Skip to content

Commit 91343e8

Browse files
danirabbitstsdc
andauthored
Handle accels with GLib.Action (#434)
Co-authored-by: Stanisław <6031763+stsdc@users.noreply.github.com>
1 parent fed3ebb commit 91343e8

File tree

4 files changed

+22
-26
lines changed

4 files changed

+22
-26
lines changed

src/MainWindow.vala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@ public class Monitor.MainWindow : Hdy.ApplicationWindow {
147147

148148
dbusserver.indicator_state (MonitorApp.settings.get_boolean ("indicator-state"));
149149
stack.visible_child_name = MonitorApp.settings.get_string ("opened-view");
150+
151+
var search_action = new GLib.SimpleAction ("search", null);
152+
search_action.activate.connect (() => search.activate_entry ());
153+
154+
add_action (search_action);
150155
}
151156

152157
private void setup_window_state () {

src/Monitor.vala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,16 @@ namespace Monitor {
4343

4444
var quit_action = new SimpleAction ("quit", null);
4545
add_action (quit_action);
46-
set_accels_for_action ("app.quit", { "<Ctrl>q" });
4746
quit_action.activate.connect (() => {
4847
if (window != null) {
4948
window.destroy ();
5049
}
5150
});
51+
52+
set_accels_for_action ("app.quit", { "<Ctrl>q" });
53+
set_accels_for_action ("win.search", { "<Ctrl>f" });
54+
set_accels_for_action ("process.end", { "<Ctrl>e" });
55+
set_accels_for_action ("process.kill", { "<Ctrl>k" });
5256
}
5357

5458
public override void activate () {

src/Services/Shortcuts.vala

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -20,31 +20,6 @@ public class Monitor.Shortcuts : Object {
2020
handled = true;
2121
}
2222

23-
if ((e.state & Gdk.ModifierType.CONTROL_MASK) != 0) {
24-
switch (e.keyval) {
25-
case Gdk.Key.f:
26-
window.search.activate_entry ();
27-
handled = true;
28-
break;
29-
case Gdk.Key.e:
30-
window.process_view.process_tree_view.end_process ();
31-
handled = true;
32-
break;
33-
case Gdk.Key.k:
34-
window.process_view.process_tree_view.kill_process ();
35-
handled = true;
36-
break;
37-
case Gdk.Key.comma:
38-
handled = true;
39-
break;
40-
case Gdk.Key.period:
41-
handled = true;
42-
break;
43-
default:
44-
break;
45-
}
46-
}
47-
4823
switch (e.keyval) {
4924
case Gdk.Key.Return:
5025
window.process_view.process_tree_view.focus_on_first_row ();

src/Views/ProcessView/ProcessTreeView/CPUProcessTreeView.vala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,18 @@ public class Monitor.CPUProcessTreeView : Gtk.TreeView {
8282

8383
cursor_changed.connect (_cursor_changed);
8484
// model.process_manager.updated.connect (_cursor_changed);
85+
86+
var end_process_action = new GLib.SimpleAction ("end", null);
87+
end_process_action.activate.connect (end_process);
88+
89+
var kill_process_action = new GLib.SimpleAction ("kill", null);
90+
kill_process_action.activate.connect (kill_process);
91+
92+
var action_group = new SimpleActionGroup ();
93+
action_group.add_action (end_process_action);
94+
action_group.add_action (kill_process_action);
95+
96+
insert_action_group ("process", action_group);
8597
}
8698
public void icon_cell_layout (Gtk.CellLayout cell_layout, Gtk.CellRenderer icon_cell, Gtk.TreeModel model, Gtk.TreeIter iter) {
8799
Value icon_name;

0 commit comments

Comments
 (0)