[gitg] Set default on user query actions



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]