From: Andrea Zagli Date: Sat, 6 Jan 2018 09:34:54 +0000 (+0100) Subject: Aggiunto salva e chiudi a comune. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=1ec6765b22fbff9f6b818a61ded51359c0d57572;p=solipa%2Fterritorio Aggiunto salva e chiudi a comune. --- diff --git a/data/territorio/gui/territorio.gui b/data/territorio/gui/territorio.gui index fdfe802..2951840 100644 --- a/data/territorio/gui/territorio.gui +++ b/data/territorio/gui/territorio.gui @@ -889,6 +889,20 @@ 1 + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + False diff --git a/src/comune.c b/src/comune.c index d39a4f5..db37308 100644 --- a/src/comune.c +++ b/src/comune.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2016 Andrea Zagli + * Copyright (C) 2010-2018 Andrea Zagli * * 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); }