gtranslator r3622 - in trunk/src: . dialogs



Author: icq
Date: Mon Sep 22 09:39:30 2008
New Revision: 3622
URL: http://svn.gnome.org/viewvc/gtranslator?rev=3622&view=rev

Log:
	* header.{ch}:
	Added attribute header_changed to GtranslatorHeader.
	* dialogs/header-dialog.c:
	(save_header): Check if the header has changed and
	if so marks the po to be saved.

	Fixed bug in header dialog. Now only marks the po file
	to be saved if the header has changed.

Modified:
   trunk/src/ChangeLog
   trunk/src/dialogs/header-dialog.c
   trunk/src/header.c
   trunk/src/header.h

Modified: trunk/src/dialogs/header-dialog.c
==============================================================================
--- trunk/src/dialogs/header-dialog.c	(original)
+++ trunk/src/dialogs/header-dialog.c	Mon Sep 22 09:39:30 2008
@@ -98,6 +98,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 
 	if (text)
@@ -111,6 +113,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 
 	if (text)
@@ -124,6 +128,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 
 	if (text)
@@ -137,6 +143,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 
 	if (text)
@@ -150,6 +158,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 
 	if (text)
@@ -163,6 +173,8 @@
 {
 	const gchar *text;
 
+	gtranslator_header_set_header_changed (header, TRUE);
+
 	text = gtk_entry_get_text(GTK_ENTRY(gobject));
 	
 	if (text)
@@ -200,8 +212,13 @@
 
 static void save_header(GtranslatorPo *po)
 {
+        GtranslatorHeader *header;
+
 	gtranslator_po_save_header_in_msg (po);
-	gtranslator_po_set_state (po, GTR_PO_STATE_MODIFIED);
+	header = gtranslator_po_get_header (po);
+
+        if (gtranslator_header_get_header_changed (header))
+	  gtranslator_po_set_state (po, GTR_PO_STATE_MODIFIED);
 } 
 
 static void gtranslator_header_dialog_init (GtranslatorHeaderDialog *dlg)

Modified: trunk/src/header.c
==============================================================================
--- trunk/src/header.c	(original)
+++ trunk/src/header.c	Mon Sep 22 09:39:30 2008
@@ -96,6 +96,11 @@
 	 */
 	gchar *plural_forms;
 	gint nplurals;
+
+        /*
+         * Check if header has changed
+         */
+        gboolean header_changed;
 };
 
 /*
@@ -368,6 +373,35 @@
 }
 
 /**
+ * gtranslator_header_get_header_changed:
+ * @header: a #GtranslatorHeader.
+ *
+ * Return value: TRUE if the header has changed, FALSE if not.
+ */
+
+gboolean
+gtranslator_header_get_header_changed (GtranslatorHeader *header)
+{
+  g_return_val_if_fail (GTR_IS_HEADER (header), NULL);
+
+  return header->priv->header_changed;
+}
+
+/**
+ * gtranslator_header_set_header_changed:
+ * @header: a #GtranslatorHeader
+ * @gboolean: Indicate if the header has changed or not.
+ *
+ * Sets the state of the header, TRUE if has changed, FALSE if not.
+ */
+
+void
+gtranslator_header_set_header_changed (GtranslatorHeader *header, gboolean change)
+{
+  header->priv->header_changed = change;
+}
+
+/**
  * gtranslator_header_get_plural:
  * @header: a #GtranslatorHeader
  *

Modified: trunk/src/header.h
==============================================================================
--- trunk/src/header.h	(original)
+++ trunk/src/header.h	Mon Sep 22 09:39:30 2008
@@ -110,6 +110,10 @@
 const gchar	*gtranslator_header_get_plural_forms	(GtranslatorHeader *header);
 void             gtranslator_header_set_plural_forms    (GtranslatorHeader *header,
 							 const gchar *plural_forms);
+
+gboolean         gtranslator_header_get_header_changed  (GtranslatorHeader *header);
+void             gtranslator_header_set_header_changed  (GtranslatorHeader *header,
+							 gboolean change);
 							 
 gint             gtranslator_header_get_nplurals        (GtranslatorHeader *header);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]