From 2f059fcd6a581e957c4eab2be524dab04fa7d240 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 6 Jan 2018 09:43:27 +0100 Subject: [PATCH] Aggiunto salva e chiudi a regione. --- data/territorio/gui/territorio.gui | 14 ++++++++++++++ src/regione.c | 25 +++++++++++++++++++++---- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/data/territorio/gui/territorio.gui b/data/territorio/gui/territorio.gui index 0128252..2750556 100644 --- a/data/territorio/gui/territorio.gui +++ b/data/territorio/gui/territorio.gui @@ -1831,6 +1831,20 @@ 1 + + + Salva e _chiudi + True + True + True + True + + + True + True + 2 + + False diff --git a/src/regione.c b/src/regione.c index f52b89d..671cb0e 100644 --- a/src/regione.c +++ b/src/regione.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_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); } -- 2.49.0