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

index fdfe802e06d00bf5c7f11d9d0bc93c3a99d75434..29518405ee276ce0eea66653196229bce661832e 100644 (file)
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="button75">
+                <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 d39a4f5d2541d2ae3cf7cfa38499a8ce5eafb7da..db37308d22e66c03a63c7fb1e294baf6de745e5a 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
@@ -28,7 +28,7 @@ static void territorio_comune_class_init (TerritorioComuneClass *klass);
 static void territorio_comune_init (TerritorioComune *territorio_comune);
 
 static void territorio_comune_carica (TerritorioComune *territorio_comune);
-static void territorio_comune_salva (TerritorioComune *territorio_comune);
+static void territorio_comune_salva (TerritorioComune *territorio_comune, gboolean chiudi);
 
 static gboolean territorio_comune_conferma_chiusura (TerritorioComune *territorio_comune);
 
@@ -49,6 +49,8 @@ static void territorio_comune_on_btn_annulla_clicked (GtkButton *button,
                                     gpointer user_data);
 static void territorio_comune_on_btn_salva_clicked (GtkButton *button,
                                   gpointer user_data);
+static void territorio_comune_on_btn_salva_chiudi_clicked (GtkButton *button,
+                                  gpointer user_data);
 
 #define TERRITORIO_COMUNE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_COMUNE, TerritorioComunePrivate))
 
@@ -178,6 +180,8 @@ TerritorioComune
                          "clicked", G_CALLBACK (territorio_comune_on_btn_annulla_clicked), (gpointer)a);
        g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button28"),
                          "clicked", G_CALLBACK (territorio_comune_on_btn_salva_clicked), (gpointer)a);
+       g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button75"),
+                         "clicked", G_CALLBACK (territorio_comune_on_btn_salva_chiudi_clicked), (gpointer)a);
 
        priv->id = id;
 
@@ -289,7 +293,7 @@ territorio_comune_carica (TerritorioComune *territorio_comune)
 }
 
 static void
-territorio_comune_salva (TerritorioComune *territorio_comune)
+territorio_comune_salva (TerritorioComune *territorio_comune, gboolean chiudi)
 {
        gchar *sql;
 
@@ -326,6 +330,12 @@ territorio_comune_salva (TerritorioComune *territorio_comune)
                                               GTK_MESSAGE_INFO,
                                               GTK_BUTTONS_OK,
                                               "Salvataggio eseguito con successo.");
+
+                       if (chiudi)
+                               {
+                                       gtk_widget_destroy (priv->w);
+                                       g_object_unref (territorio_comune);
+                               }
                }
        else
                {
@@ -416,5 +426,12 @@ static void
 territorio_comune_on_btn_salva_clicked (GtkButton *button,
                       gpointer user_data)
 {
-       territorio_comune_salva ((TerritorioComune *)user_data);
+       territorio_comune_salva ((TerritorioComune *)user_data, FALSE);
+}
+
+static void
+territorio_comune_on_btn_salva_chiudi_clicked (GtkButton *button,
+                      gpointer user_data)
+{
+       territorio_comune_salva ((TerritorioComune *)user_data, TRUE);
 }