[latexila/wip/app-menu] app: implement the app.fundraiser action



commit 30c3bcb329b979bf13ab2d13605a5c85a59ac498
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Fri Dec 18 15:22:51 2015 +0100

    app: implement the app.fundraiser action

 src/finance.vala      |   10 +++++-----
 src/latexila_app.vala |   11 +++++++++++
 src/main_window.vala  |    2 +-
 3 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/src/finance.vala b/src/finance.vala
index 1bc2723..1993470 100644
--- a/src/finance.vala
+++ b/src/finance.vala
@@ -21,13 +21,13 @@ using Gtk;
 
 namespace Finance
 {
-    public void show_dialog (MainWindow window, bool startup)
+    public void show_dialog (Window parent_window, bool startup)
     {
         if (startup && ! should_show_dialog_on_startup ())
             return;
 
         Dialog dialog = new Dialog.with_buttons ("LaTeXila Finance",
-            window,
+            parent_window,
             DialogFlags.DESTROY_WITH_PARENT,
             "_Close", ResponseType.CLOSE,
             "LaTeXila _Fundraiser", ResponseType.ACCEPT,
@@ -89,7 +89,7 @@ namespace Finance
 
             if (response == ResponseType.ACCEPT)
             {
-                open_donate_page (window);
+                open_donate_page (parent_window);
                 continue;
             }
 
@@ -149,12 +149,12 @@ namespace Finance
         settings.set_string ("last-shown-date", date);
     }
 
-    private void open_donate_page (MainWindow window)
+    private void open_donate_page (Window parent_window)
     {
         try
         {
             string uri = "https://wiki.gnome.org/Apps/LaTeXila/donate";;
-            show_uri (window.get_screen (), uri, Gdk.CURRENT_TIME);
+            show_uri (parent_window.get_screen (), uri, Gdk.CURRENT_TIME);
         }
         catch (Error e)
         {
diff --git a/src/latexila_app.vala b/src/latexila_app.vala
index f7bdb59..8990d4f 100644
--- a/src/latexila_app.vala
+++ b/src/latexila_app.vala
@@ -153,6 +153,17 @@ public class LatexilaApp : Gtk.Application
 
             release ();
         });
+
+        /* Fundraiser */
+        SimpleAction fundraiser_action = new SimpleAction ("fundraiser", null);
+        add_action (fundraiser_action);
+
+        fundraiser_action.activate.connect (() =>
+        {
+            hold ();
+            Finance.show_dialog (this.active_window, false);
+            release ();
+        });
     }
 
     public static LatexilaApp get_instance ()
diff --git a/src/main_window.vala b/src/main_window.vala
index da6abf3..1b57106 100644
--- a/src/main_window.vala
+++ b/src/main_window.vala
@@ -1151,7 +1151,7 @@ public class MainWindow : ApplicationWindow
 
     public void on_help_finance ()
     {
-        Finance.show_dialog (this, false);
+        LatexilaApp.get_instance ().activate_action ("fundraiser", null);
     }
 
     public void on_about_dialog ()


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