[gitg/gnome-3-20] Disable commit for bare repositories



commit 7db2edd09dae642a8c5fa70674165220834ec889
Author: Jesse van den Kieboom <jessevdk gnome org>
Date:   Thu Aug 18 13:02:22 2016 +0200

    Disable commit for bare repositories

 gitg/commit/gitg-commit.vala |    9 +++++++++
 gitg/gitg-ui-elements.vala   |    8 ++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gitg/commit/gitg-commit.vala b/gitg/commit/gitg-commit.vala
index 5412adf..28d28a0 100644
--- a/gitg/commit/gitg-commit.vala
+++ b/gitg/commit/gitg-commit.vala
@@ -60,6 +60,7 @@ namespace GitgCommit
                        set
                        {
                                reload();
+                               notify_property("enabled");
                        }
                }
 
@@ -71,6 +72,14 @@ namespace GitgCommit
                        d_externally_changed_id = 
application.repository_changed_externally.connect(repository_changed_externally);
                }
 
+               public bool enabled
+               {
+                       get
+                       {
+                               return application.repository != null && !application.repository.is_bare;
+                       }
+               }
+
                public override void dispose()
                {
                        if (d_externally_changed_id != 0)
diff --git a/gitg/gitg-ui-elements.vala b/gitg/gitg-ui-elements.vala
index 0374dfd..236a6e9 100644
--- a/gitg/gitg-ui-elements.vala
+++ b/gitg/gitg-ui-elements.vala
@@ -209,6 +209,12 @@ public class UIElements<T> : Object
                update();
        }
 
+       private void enabled_changed(Object o, ParamSpec spec)
+       {
+               var e = o as GitgExt.UIElement;
+               e.widget.sensitive = e.enabled;
+       }
+
        private void on_element_activate(GitgExt.UIElement e)
        {
                set_current_impl(e);
@@ -224,6 +230,8 @@ public class UIElements<T> : Object
                }
 
                e.notify["available"].connect(available_changed);
+               e.notify["enabled"].connect(enabled_changed);
+               
                e.activate.connect(on_element_activate);
        }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]