gtranslator r3714 - trunk/src



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

Log:
2008-08-22  Ignacio Casal Quinteiro  <nacho resa gmail com>

	* msg.c (gtranslator_msg_set_property),
	(gtranslator_msg_get_property), (gtranslator_msg_class_init),
	(gtranslator_msg_new), (gtranslator_msg_get_iterator),
	(gtranslator_msg_set_iterator), (gtranslator_msg_get_message),
	(gtranslator_msg_set_message):
	* msg.h:
	* po.c (gtranslator_po_parse):
	Fixed message constructor, po_message_t must be an argument in
the
	constructor. Added the iter as a property too.

Modified:
   trunk/src/ChangeLog
   trunk/src/msg.c
   trunk/src/msg.h
   trunk/src/po.c

Modified: trunk/src/msg.c
==============================================================================
--- trunk/src/msg.c	(original)
+++ trunk/src/msg.c	Mon Sep 22 09:44:28 2008
@@ -52,6 +52,7 @@
 enum
 {
 	PROP_0,
+	PROP_GETTEXT_ITER,
 	PROP_GETTEXT_MSG
 };
 
@@ -67,6 +68,10 @@
 
 	switch (prop_id)
 	{
+		case PROP_GETTEXT_ITER:
+			gtranslator_msg_set_iterator (msg,
+						      g_value_get_pointer (value));
+			break;
 		case PROP_GETTEXT_MSG:
 			gtranslator_msg_set_message (msg,
 						     g_value_get_pointer (value));
@@ -87,6 +92,10 @@
 
 	switch (prop_id)
 	{
+		case PROP_GETTEXT_ITER:
+			g_value_set_pointer (value,
+					     gtranslator_msg_get_iterator (msg));
+			break;
 		case PROP_GETTEXT_MSG:
 			g_value_set_pointer (value,
 					     gtranslator_msg_get_message (msg));
@@ -122,9 +131,16 @@
 	
 	g_object_class_install_property (object_class,
 					 PROP_GETTEXT_MSG,
+					 g_param_spec_pointer ("gettext-iter",
+							       "Gettext iterator",
+							       "The po_message_iterator_t pointer",
+							       G_PARAM_READWRITE));
+	
+	g_object_class_install_property (object_class,
+					 PROP_GETTEXT_MSG,
 					 g_param_spec_pointer ("gettext-msg",
 							       "Gettext msg",
-							       "The po_message_t object",
+							       "The po_message_t pointer",
 							       G_PARAM_READWRITE));	
 }
 
@@ -138,25 +154,60 @@
  * Return value: a new #GtranslatorMsg object
  **/
 GtranslatorMsg *
-gtranslator_msg_new(po_message_iterator_t iter)
+gtranslator_msg_new (po_message_iterator_t iter,
+		     po_message_t message)
 {
 	GtranslatorMsg *msg;
 	
-	msg = g_object_new (GTR_TYPE_MSG, NULL);
-	msg->priv->iterator = iter;
+	msg = g_object_new (GTR_TYPE_MSG, "gettext-iter", iter,
+			    "gettext-msg", message, NULL);
 	
 	return msg;
 }
 
 /**
+ * gtranslator_msg_get_iterator:
+ * @msg: a #GtranslatorMsg
+ *
+ * Return value: the message iterator in gettext format
+ **/
+po_message_iterator_t
+gtranslator_msg_get_iterator (GtranslatorMsg *msg)
+{
+	g_return_val_if_fail (GTR_IS_MSG (msg), NULL);
+	
+	return msg->priv->iterator;
+}
+
+/**
+ * gtranslator_msg_set_iterator:
+ * @msg: a #GtranslatorMsg
+ * @message: the po_message_iterator_t to set into the @msg
+ *
+ * Sets the iterator into the #GtranslatorMsg class.
+ **/
+void
+gtranslator_msg_set_iterator (GtranslatorMsg *msg,
+			      po_message_iterator_t iter)
+{
+	g_return_if_fail (GTR_IS_MSG (msg));
+	
+	msg->priv->iterator = iter;
+	
+	g_object_notify (G_OBJECT (msg), "gettext-iter");
+}
+
+/**
  * gtranslator_msg_get_message:
  * @msg: a #GtranslatorMsg
  *
  * Return value: the message in gettext format
  **/
 po_message_t
-gtranslator_msg_get_message(GtranslatorMsg *msg)
+gtranslator_msg_get_message (GtranslatorMsg *msg)
 {
+	g_return_val_if_fail (GTR_IS_MSG (msg), NULL);
+	
 	return msg->priv->message;
 }
 
@@ -172,6 +223,8 @@
 			    po_message_t message)
 {
 	msg->priv->message = message;
+	
+	g_object_notify (G_OBJECT (msg), "gettext-msg");
 }
 
 /**
@@ -595,4 +648,4 @@
 
 	/*Are there any other way to do this?*/
 	return message_error;
-}
\ No newline at end of file
+}

Modified: trunk/src/msg.h
==============================================================================
--- trunk/src/msg.h	(original)
+++ trunk/src/msg.h	Mon Sep 22 09:44:28 2008
@@ -76,7 +76,14 @@
 
 GType		  gtranslator_msg_register_type	       (GTypeModule * module);
 
-GtranslatorMsg   *gtranslator_msg_new                  (po_message_iterator_t iter);
+GtranslatorMsg   *gtranslator_msg_new                  (po_message_iterator_t iter,
+							po_message_t message);
+
+po_message_iterator_t
+                  gtranslator_msg_get_iterator         (GtranslatorMsg *msg);
+
+void              gtranslator_msg_set_iterator         (GtranslatorMsg *msg,
+							po_message_iterator_t iter);
 
 po_message_t      gtranslator_msg_get_message          (GtranslatorMsg *msg);
 

Modified: trunk/src/po.c
==============================================================================
--- trunk/src/po.c	(original)
+++ trunk/src/po.c	Mon Sep 22 09:44:28 2008
@@ -516,8 +516,7 @@
 		if (!po_message_is_obsolete (message))
 		{
 			/* Unpack into a GtrMsg */
-			msg = gtranslator_msg_new (iter);
-			gtranslator_msg_set_message (msg, message);
+			msg = gtranslator_msg_new (iter, message);
   
 			/* Set the status */
 			if (gtranslator_msg_is_fuzzy (msg))



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