]> saetta.ns0.it Git - solipa/territorio/commitdiff
Aggiunto salva e chiudi a provincia.
authorAndrea Zagli <azagli@libero.it>
Sat, 6 Jan 2018 09:07:24 +0000 (10:07 +0100)
committerAndrea Zagli <azagli@libero.it>
Sat, 6 Jan 2018 09:07:24 +0000 (10:07 +0100)
data/territorio/gui/territorio.gui
src/provincia.c

index 27505564f1f27b0646e33f7318b17060b298081e..002a3c7790c7a1df6d447c6cf8ba0f89eb04cd4c 100644 (file)
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="button73">
+                <property name="label" translatable="yes">Salva e _chiudi</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
           </object>
           <packing>
             <property name="expand">False</property>
index 9d1fda27ff0525753373721176f0c7a0575f88a4..2f7be0e858f6c1b452f26a822f714e0bcf09b7de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2016 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2010-2018 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -27,7 +27,7 @@ static void territorio_provincia_class_init (TerritorioProvinciaClass *klass);
 static void territorio_provincia_init (TerritorioProvincia *territorio_provincia);
 
 static void territorio_provincia_carica (TerritorioProvincia *territorio_provincia);
-static void territorio_provincia_salva (TerritorioProvincia *territorio_provincia);
+static void territorio_provincia_salva (TerritorioProvincia *territorio_provincia, gboolean chiudi);
 
 static gboolean territorio_provincia_conferma_chiusura (TerritorioProvincia *territorio_provincia);
 
@@ -48,6 +48,8 @@ static void territorio_provincia_on_btn_annulla_clicked (GtkButton *button,
                                     gpointer user_data);
 static void territorio_provincia_on_btn_salva_clicked (GtkButton *button,
                                   gpointer user_data);
+static void territorio_provincia_on_btn_salva_chiudi_clicked (GtkButton *button,
+                                  gpointer user_data);
 
 #define TERRITORIO_PROVINCIA_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_PROVINCIA, TerritorioProvinciaPrivate))
 
@@ -177,6 +179,8 @@ TerritorioProvincia
                          "clicked", G_CALLBACK (territorio_provincia_on_btn_annulla_clicked), (gpointer)a);
        g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button21"),
                          "clicked", G_CALLBACK (territorio_provincia_on_btn_salva_clicked), (gpointer)a);
+       g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button73"),
+                         "clicked", G_CALLBACK (territorio_provincia_on_btn_salva_chiudi_clicked), (gpointer)a);
 
        priv->id = id;
 
@@ -279,7 +283,7 @@ territorio_provincia_carica (TerritorioProvincia *territorio_provincia)
 }
 
 static void
-territorio_provincia_salva (TerritorioProvincia *territorio_provincia)
+territorio_provincia_salva (TerritorioProvincia *territorio_provincia, gboolean chiudi)
 {
        gchar *sql;
 
@@ -316,6 +320,12 @@ territorio_provincia_salva (TerritorioProvincia *territorio_provincia)
                                               GTK_MESSAGE_INFO,
                                               GTK_BUTTONS_OK,
                                               "Salvataggio eseguito con successo.");
+
+                       if (chiudi)
+                               {
+                                       gtk_widget_destroy (priv->w);
+                                       g_object_unref (territorio_provincia);
+                               }
                }
        else
                {
@@ -406,5 +416,12 @@ static void
 territorio_provincia_on_btn_salva_clicked (GtkButton *button,
                       gpointer user_data)
 {
-       territorio_provincia_salva ((TerritorioProvincia *)user_data);
+       territorio_provincia_salva ((TerritorioProvincia *)user_data, FALSE);
+}
+
+static void
+territorio_provincia_on_btn_salva_chiudi_clicked (GtkButton *button,
+                      gpointer user_data)
+{
+       territorio_provincia_salva ((TerritorioProvincia *)user_data, TRUE);
 }