X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=systemadm.vala;h=92ee503b1178e6df31f2dc363e48d33fb0ee0b0a;hb=a1d821025a51e119a5959fb8b3fb976e41260f1a;hp=bdff0d4259d334effde91621de28f1a4d0c57d03;hpb=22be7e82e20a972b0e2338ee9af11a79033a8db4;p=elogind.git diff --git a/systemadm.vala b/systemadm.vala index bdff0d425..92ee503b1 100644 --- a/systemadm.vala +++ b/systemadm.vala @@ -92,7 +92,7 @@ public class MainWindow : Window { private ComboBox unit_type_combo_box; public MainWindow() throws DBus.Error { - title = "systemdadm"; + title = "systemadm"; position = WindowPosition.CENTER; set_default_size(1000, 700); set_border_width(12); @@ -486,7 +486,7 @@ public class MainWindow : Window { try { u.start("replace"); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -499,7 +499,7 @@ public class MainWindow : Window { try { u.stop("replace"); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -512,7 +512,7 @@ public class MainWindow : Window { try { u.reload("replace"); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -525,7 +525,7 @@ public class MainWindow : Window { try { u.restart("replace"); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -538,7 +538,7 @@ public class MainWindow : Window { try { j.cancel(); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -633,9 +633,9 @@ public class MainWindow : Window { } public bool unit_filter(TreeModel model, TreeIter iter) { - string id, active_state; + string id, active_state, job; - model.get(iter, 0, out id, 3, out active_state); + model.get(iter, 0, out id, 3, out active_state, 5, out job); if (id == null) return false; @@ -646,7 +646,7 @@ public class MainWindow : Window { return true; case 1: - return active_state != "inactive"; + return active_state != "inactive" || job != ""; case 2: return id.has_suffix(".service"); @@ -683,7 +683,7 @@ public class MainWindow : Window { try { manager.reload(); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } @@ -695,9 +695,19 @@ public class MainWindow : Window { unit_type_combo_box.set_active(8); } catch (DBus.Error e) { - new MessageDialog(this, DialogFlags.DESTROY_WITH_PARENT, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } } + + public void show_error(string e) { + var m = new MessageDialog(this, + DialogFlags.DESTROY_WITH_PARENT, + MessageType.ERROR, + ButtonsType.CLOSE, "%s", e); + m.run(); + m.destroy(); + } + } static const OptionEntry entries[] = { @@ -706,6 +716,12 @@ static const OptionEntry entries[] = { { null } }; +void show_error(string e) { + var m = new MessageDialog(null, 0, MessageType.ERROR, ButtonsType.CLOSE, "%s", e); + m.run(); + m.destroy(); +} + int main (string[] args) { try { @@ -716,9 +732,9 @@ int main (string[] args) { Gtk.main(); } catch (DBus.Error e) { - new MessageDialog(null, 0, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } catch (GLib.Error e) { - new MessageDialog(null, 0, MessageType.ERROR, ButtonsType.CLOSE, "%s", e.message).run(); + show_error(e.message); } return 0;