From: Andrea Zagli Date: Sat, 6 Jan 2018 08:35:26 +0000 (+0100) Subject: Aggiunto salva e chiudi in stato. X-Git-Url: https://saetta.ns0.it/gitweb?a=commitdiff_plain;h=30c8a27214ac3e83d4d42ef36b1b097cdc263c0d;p=solipa%2Fterritorio Aggiunto salva e chiudi in stato. --- diff --git a/data/territorio/gui/territorio.gui b/data/territorio/gui/territorio.gui index a724735..0128252 100644 --- a/data/territorio/gui/territorio.gui +++ b/data/territorio/gui/territorio.gui @@ -13,7 +13,7 @@ normal Territorio 0.0.3 - Andrea Zagli <azagli@libero.it> 2010-2016 + Andrea Zagli <azagli@libero.it> 2010-2018 Andrea Zagli <azagli@libero.it> image-missing @@ -2924,6 +2924,20 @@ 1 + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + False diff --git a/src/stato.c b/src/stato.c index 020e008..44ded1a 100644 --- a/src/stato.c +++ b/src/stato.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 @@ -27,7 +27,7 @@ static void territorio_stato_class_init (TerritorioStatoClass *klass); static void territorio_stato_init (TerritorioStato *territorio_stato); static void territorio_stato_carica (TerritorioStato *territorio_stato); -static void territorio_stato_salva (TerritorioStato *territorio_stato); +static void territorio_stato_salva (TerritorioStato *territorio_stato, gboolean chiudi); static gboolean territorio_stato_conferma_chiusura (TerritorioStato *territorio_stato); @@ -48,6 +48,8 @@ static void territorio_stato_on_btn_annulla_clicked (GtkButton *button, gpointer user_data); static void territorio_stato_on_btn_salva_clicked (GtkButton *button, gpointer user_data); +static void territorio_stato_on_btn_salva_chiudi_clicked (GtkButton *button, + gpointer user_data); #define TERRITORIO_STATO_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_TERRITORIO_STATO, TerritorioStatoPrivate)) @@ -150,6 +152,8 @@ TerritorioStato "clicked", G_CALLBACK (territorio_stato_on_btn_annulla_clicked), (gpointer)a); g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button7"), "clicked", G_CALLBACK (territorio_stato_on_btn_salva_clicked), (gpointer)a); + g_signal_connect (gtk_builder_get_object (priv->commons->gtkbuilder, "button71"), + "clicked", G_CALLBACK (territorio_stato_on_btn_salva_chiudi_clicked), (gpointer)a); priv->id = id; @@ -220,7 +224,7 @@ territorio_stato_carica (TerritorioStato *territorio_stato) } static void -territorio_stato_salva (TerritorioStato *territorio_stato) +territorio_stato_salva (TerritorioStato *territorio_stato, gboolean chiudi) { gchar *sql; @@ -257,6 +261,12 @@ territorio_stato_salva (TerritorioStato *territorio_stato) GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Salvataggio eseguito con successo."); + + if (chiudi) + { + gtk_widget_destroy (priv->w); + g_object_unref (territorio_stato); + } } else { @@ -347,5 +357,12 @@ static void territorio_stato_on_btn_salva_clicked (GtkButton *button, gpointer user_data) { - territorio_stato_salva ((TerritorioStato *)user_data); + territorio_stato_salva ((TerritorioStato *)user_data, FALSE); +} + +static void +territorio_stato_on_btn_salva_chiudi_clicked (GtkButton *button, + gpointer user_data) +{ + territorio_stato_salva ((TerritorioStato *)user_data, TRUE); }