[gitg] Set default on user query actions
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] Set default on user query actions
- Date: Wed, 5 Aug 2015 19:14:47 +0000 (UTC)
commit 13cbe9a6c4d699c7495ed8959b59ef34b2b6ad8a
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Wed Aug 5 21:13:53 2015 +0200
Set default on user query actions
gitg/gitg-window.vala | 21 ++++++++++++++++++---
libgitg-ext/gitg-ext-user-query.vala | 1 +
2 files changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/gitg/gitg-window.vala b/gitg/gitg-window.vala
index db2a50e..d4ab31d 100644
--- a/gitg/gitg-window.vala
+++ b/gitg/gitg-window.vala
@@ -761,12 +761,27 @@ public class Window : Gtk.ApplicationWindow, GitgExt.Application, Initable
dlg.format_secondary_text("%s", query.message);
+ dlg.set_default_response(query.default_response);
+
foreach (var response in query.responses)
{
- dlg.add_button(response.text, response.response_type);
- }
+ var button = dlg.add_button(response.text, response.response_type);
- dlg.set_default_response(query.default_response);
+ if (response.response_type == query.default_response)
+ {
+ button.can_default = true;
+ button.has_default = true;
+
+ if (query.default_is_destructive)
+ {
+
button.get_style_context().add_class(Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION);
+ }
+ else
+ {
+
button.get_style_context().add_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION);
+ }
+ }
+ }
d_dialog = dlg;
dlg.add_weak_pointer(&d_dialog);
diff --git a/libgitg-ext/gitg-ext-user-query.vala b/libgitg-ext/gitg-ext-user-query.vala
index 3d948b4..101297b 100644
--- a/libgitg-ext/gitg-ext-user-query.vala
+++ b/libgitg-ext/gitg-ext-user-query.vala
@@ -39,6 +39,7 @@ public class UserQuery : Object
public Gtk.MessageType message_type { get; set; }
public Gtk.ResponseType default_response { get; set; default = Gtk.ResponseType.CLOSE; }
public UserQueryResponse[] responses { get; set; }
+ public bool default_is_destructive { get; set; }
public signal void quit();
public signal bool response(Gtk.ResponseType response_type);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]