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

index 01282526d736c1933d7861c894908adedea4dbd9..27505564f1f27b0646e33f7318b17060b298081e 100644 (file)
                 <property name="position">1</property>
               </packing>
             </child>
+            <child>
+              <object class="GtkButton" id="button72">
+                <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 f52b89dffc7e3a595780baf446652c8b54fc84ed..671cb0e193fa3d6e9d51ff924dfbad09580c0abc 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_regione_class_init (TerritorioRegioneClass *klass);
 static void territorio_regione_init (TerritorioRegione *territorio_regione);
 
 static void territorio_regione_carica (TerritorioRegione *territorio_regione);
-static void territorio_regione_salva (TerritorioRegione *territorio_regione);
+static void territorio_regione_salva (TerritorioRegione *territorio_regione, gboolean chiudi);
 
 static gboolean territorio_regione_conferma_chiusura (TerritorioRegione *territorio_regione);
 
@@ -48,6 +48,8 @@ static void territorio_regione_on_btn_annulla_clicked (GtkButton *button,
                                     gpointer user_data);
 static void territorio_regione_on_btn_salva_clicked (GtkButton *button,
                                   gpointer user_data);
+static void territorio_regione_on_btn_salva_chiudi_clicked (GtkButton *button,
+                                  gpointer user_data);
 
 #define TERRITORIO_REGIONE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_REGIONE, TerritorioRegionePrivate))
 
@@ -150,6 +152,8 @@ TerritorioRegione
                          "clicked", G_CALLBACK (territorio_regione_on_btn_annulla_clicked), (gpointer *)a);
        g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button14"),
                          "clicked", G_CALLBACK (territorio_regione_on_btn_salva_clicked), (gpointer *)a);
+       g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button72"),
+                         "clicked", G_CALLBACK (territorio_regione_on_btn_salva_chiudi_clicked), (gpointer *)a);
 
        priv->id = id;
 
@@ -220,7 +224,7 @@ territorio_regione_carica (TerritorioRegione *territorio_regione)
 }
 
 static void
-territorio_regione_salva (TerritorioRegione *territorio_regione)
+territorio_regione_salva (TerritorioRegione *territorio_regione, gboolean chiudi)
 {
        gchar *sql;
 
@@ -257,6 +261,12 @@ territorio_regione_salva (TerritorioRegione *territorio_regione)
                                               GTK_MESSAGE_INFO,
                                               GTK_BUTTONS_OK,
                                               "Salvataggio eseguito con successo.");
+
+                       if (chiudi)
+                               {
+                                       gtk_widget_destroy (priv->w);
+                                       g_object_unref (territorio_regione);
+                               }
                }
        else
                {
@@ -347,5 +357,12 @@ static void
 territorio_regione_on_btn_salva_clicked (GtkButton *button,
                       gpointer user_data)
 {
-       territorio_regione_salva ((TerritorioRegione *)user_data);
+       territorio_regione_salva ((TerritorioRegione *)user_data, FALSE);
+}
+
+static void
+territorio_regione_on_btn_salva_chiudi_clicked (GtkButton *button,
+                      gpointer user_data)
+{
+       territorio_regione_salva ((TerritorioRegione *)user_data, TRUE);
 }