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

index c3a85204a8332c82de10909d252f4b6b31c8d1bb..df456b324fbb08ec2f97d2ddda59f1003f87eb4a 100644 (file)
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="button77">
+                <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 c94ebc694f611e00e889c15c1f0ac19bb56b9429..ee525b61d81e8581e0e9efb0ad08177fe1523d3a 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_tipo_aggregazione_territoriale_class_init (TerritorioTipo
 static void territorio_tipo_aggregazione_territoriale_init (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale);
 
 static void territorio_tipo_aggregazione_territoriale_carica (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale);
-static void territorio_tipo_aggregazione_territoriale_salva (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale);
+static void territorio_tipo_aggregazione_territoriale_salva (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale, gboolean chiudi);
 
 static gboolean territorio_tipo_aggregazione_territoriale_conferma_chiusura (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale);
 
@@ -48,6 +48,8 @@ static void territorio_tipo_aggregazione_territoriale_on_btn_annulla_clicked (Gt
                                     gpointer user_data);
 static void territorio_tipo_aggregazione_territoriale_on_btn_salva_clicked (GtkButton *button,
                                   gpointer user_data);
+static void territorio_tipo_aggregazione_territoriale_on_btn_salva_chiudi_clicked (GtkButton *button,
+                                  gpointer user_data);
 
 #define TERRITORIO_TIPO_AGGREGAZIONE_TERRITORIALE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_TIPO_AGGREGAZIONE_TERRITORIALE, TerritorioTipoAggregazioneTerritorialePrivate))
 
@@ -150,6 +152,8 @@ TerritorioTipoAggregazioneTerritoriale
                          "clicked", G_CALLBACK (territorio_tipo_aggregazione_territoriale_on_btn_annulla_clicked), (gpointer)a);
        g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button35"),
                          "clicked", G_CALLBACK (territorio_tipo_aggregazione_territoriale_on_btn_salva_clicked), (gpointer)a);
+       g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button77"),
+                         "clicked", G_CALLBACK (territorio_tipo_aggregazione_territoriale_on_btn_salva_chiudi_clicked), (gpointer)a);
 
        priv->id = id;
 
@@ -199,7 +203,7 @@ territorio_tipo_aggregazione_territoriale_carica (TerritorioTipoAggregazioneTerr
 }
 
 static void
-territorio_tipo_aggregazione_territoriale_salva (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale)
+territorio_tipo_aggregazione_territoriale_salva (TerritorioTipoAggregazioneTerritoriale *territorio_tipo_aggregazione_territoriale, gboolean chiudi)
 {
        gchar *sql;
 
@@ -236,6 +240,12 @@ territorio_tipo_aggregazione_territoriale_salva (TerritorioTipoAggregazioneTerri
                                               GTK_MESSAGE_INFO,
                                               GTK_BUTTONS_OK,
                                               "Salvataggio eseguito con successo.");
+
+                       if (chiudi)
+                               {
+                                       gtk_widget_destroy (priv->w);
+                                       g_object_unref (territorio_tipo_aggregazione_territoriale);
+                               }
                }
        else
                {
@@ -326,5 +336,12 @@ static void
 territorio_tipo_aggregazione_territoriale_on_btn_salva_clicked (GtkButton *button,
                       gpointer user_data)
 {
-       territorio_tipo_aggregazione_territoriale_salva ((TerritorioTipoAggregazioneTerritoriale *)user_data);
+       territorio_tipo_aggregazione_territoriale_salva ((TerritorioTipoAggregazioneTerritoriale *)user_data, FALSE);
+}
+
+static void
+territorio_tipo_aggregazione_territoriale_on_btn_salva_chiudi_clicked (GtkButton *button,
+                      gpointer user_data)
+{
+       territorio_tipo_aggregazione_territoriale_salva ((TerritorioTipoAggregazioneTerritoriale *)user_data, TRUE);
 }