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

index 29518405ee276ce0eea66653196229bce661832e..c3a85204a8332c82de10909d252f4b6b31c8d1bb 100644 (file)
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="button76">
+                <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 dc9cfb195c3c7488dfe26a9d80a2e2f93a7bac3a..cdc116863185c4a639b2ed8c7b4ef4ed7229c75b 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_aggregazione_territoriale_class_init (TerritorioAggregazi
 static void territorio_aggregazione_territoriale_init (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale);
 
 static void territorio_aggregazione_territoriale_carica (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale);
-static void territorio_aggregazione_territoriale_salva (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale);
+static void territorio_aggregazione_territoriale_salva (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale, gboolean chiudi);
 
 static gboolean territorio_aggregazione_territoriale_conferma_chiusura (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale);
 
@@ -48,6 +48,8 @@ static void territorio_aggregazione_territoriale_on_btn_annulla_clicked (GtkButt
                                     gpointer user_data);
 static void territorio_aggregazione_territoriale_on_btn_salva_clicked (GtkButton *button,
                                   gpointer user_data);
+static void territorio_aggregazione_territoriale_on_btn_salva_chiudi_clicked (GtkButton *button,
+                                  gpointer user_data);
 
 #define TERRITORIO_AGGREGAZIONE_TERRITORIALE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_AGGREGAZIONE_TERRITORIALE, TerritorioAggregazioneTerritorialePrivate))
 
@@ -151,6 +153,8 @@ TerritorioAggregazioneTerritoriale
                          "clicked", G_CALLBACK (territorio_aggregazione_territoriale_on_btn_annulla_clicked), (gpointer)a);
        g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button42"),
                          "clicked", G_CALLBACK (territorio_aggregazione_territoriale_on_btn_salva_clicked), (gpointer)a);
+       g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button76"),
+                         "clicked", G_CALLBACK (territorio_aggregazione_territoriale_on_btn_salva_chiudi_clicked), (gpointer)a);
 
        priv->id = id;
 
@@ -200,7 +204,7 @@ territorio_aggregazione_territoriale_carica (TerritorioAggregazioneTerritoriale
 }
 
 static void
-territorio_aggregazione_territoriale_salva (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale)
+territorio_aggregazione_territoriale_salva (TerritorioAggregazioneTerritoriale *territorio_aggregazione_territoriale, gboolean chiudi)
 {
        gchar *sql;
 
@@ -237,6 +241,12 @@ territorio_aggregazione_territoriale_salva (TerritorioAggregazioneTerritoriale *
                                               GTK_MESSAGE_INFO,
                                               GTK_BUTTONS_OK,
                                               "Salvataggio eseguito con successo.");
+
+                       if (chiudi)
+                               {
+                                       gtk_widget_destroy (priv->w);
+                                       g_object_unref (territorio_aggregazione_territoriale);
+                               }
                }
        else
                {
@@ -329,5 +339,12 @@ static void
 territorio_aggregazione_territoriale_on_btn_salva_clicked (GtkButton *button,
                       gpointer user_data)
 {
-       territorio_aggregazione_territoriale_salva ((TerritorioAggregazioneTerritoriale *)user_data);
+       territorio_aggregazione_territoriale_salva ((TerritorioAggregazioneTerritoriale *)user_data, FALSE);
+}
+
+static void
+territorio_aggregazione_territoriale_on_btn_salva_chiudi_clicked (GtkButton *button,
+                      gpointer user_data)
+{
+       territorio_aggregazione_territoriale_salva ((TerritorioAggregazioneTerritoriale *)user_data, TRUE);
 }