r3826 - in trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src

chris at sita.openmoko.org chris at sita.openmoko.org
Mon Jan 14 15:08:56 CET 2008


Author: chris
Date: 2008-01-14 15:08:55 +0100 (Mon, 14 Jan 2008)
New Revision: 3826

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
Log:
        * src/sms-main.c: (new_clicked_cb), (main):
        Add a forward button, clear the text view when composing a new
        message

        * src/sms-notes.c: (page_shown), (page_hidden),
        (forward_clicked_cb), (selection_changed_cb), (sms_notes_page_new):
        Add basic forward message functionality (bug #1171)

        * src/sms.h:
        Add forward buttoN


Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog	2008-01-14 13:02:21 UTC (rev 3825)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog	2008-01-14 14:08:55 UTC (rev 3826)
@@ -1,3 +1,16 @@
+2008-01-14  Chris Lord  <chris at openedhand.com>
+
+	* src/sms-main.c: (new_clicked_cb), (main):
+	Add a forward button, clear the text view when composing a new
+	message
+
+	* src/sms-notes.c: (page_shown), (page_hidden),
+	(forward_clicked_cb), (selection_changed_cb), (sms_notes_page_new):
+	Add basic forward message functionality (bug #1171)
+
+	* src/sms.h:
+	Add forward button
+
 2008-01-09  Chris Lord  <chris at openedhand.com>
 
 	* data/org.openmoko.OpenmokoMessages2.service.in:

Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c	2008-01-14 13:02:21 UTC (rev 3825)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-main.c	2008-01-14 14:08:55 UTC (rev 3826)
@@ -49,6 +49,9 @@
 static void
 new_clicked_cb (GtkToolButton *button, SmsData *data)
 {
+	gtk_text_buffer_set_text (gtk_text_view_get_buffer (
+		GTK_TEXT_VIEW (data->sms_textview)), "", -1);
+
 	gtk_notebook_set_current_page (
 		GTK_NOTEBOOK (data->notebook), SMS_PAGE_COMPOSE);
 }
@@ -105,25 +108,27 @@
 	data.new_button = gtk_tool_button_new_from_stock (MOKO_STOCK_SMS_NEW);
 	gtk_tool_item_set_expand (data.new_button, TRUE);
 	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.new_button, 0);
-	/*gtk_toolbar_insert (GTK_TOOLBAR (toolbar),
-		gtk_separator_tool_item_new (), 1);*/
 	g_signal_connect (data.new_button, "clicked",
 		G_CALLBACK (new_clicked_cb), &data);
 	
+	/* Forward button */
+	data.forward_button = gtk_tool_button_new_from_stock (
+		MOKO_STOCK_MAIL_FORWARD);
+	gtk_tool_item_set_expand (data.forward_button, TRUE);
+	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.forward_button, 1);
+	
 	/* Delete all button */
 	data.delete_all_button = gtk_tool_button_new_from_stock (
 		MOKO_STOCK_FOLDER_DELETE);
 	gtk_tool_item_set_expand (data.delete_all_button, TRUE);
-	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_all_button, 1);
-	/*gtk_toolbar_insert (GTK_TOOLBAR (toolbar),
-		gtk_separator_tool_item_new (), 3);*/
+	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_all_button, 2);
 	gtk_widget_set_sensitive (GTK_WIDGET (data.delete_all_button), FALSE);
 	
 	/* Delete button */
 	data.delete_button = gtk_tool_button_new_from_stock (
 		GTK_STOCK_DELETE);
 	gtk_tool_item_set_expand (data.delete_button, TRUE);
-	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_button, 2);
+	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data.delete_button, 3);
 	gtk_widget_set_sensitive (GTK_WIDGET (data.delete_button), FALSE);
 	
 	/* Create notebook */
@@ -160,6 +165,7 @@
 	gtk_window_set_default_size (GTK_WINDOW (data.window), 480, 600);
 
 	gtk_widget_show_all (data.window);
+	gtk_widget_hide (GTK_WIDGET (data.forward_button));
 	
 	gtk_main ();
 	

Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c	2008-01-14 13:02:21 UTC (rev 3825)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c	2008-01-14 14:08:55 UTC (rev 3826)
@@ -179,7 +179,11 @@
 	gboolean found_match = FALSE;
 	EContact *contact = NULL;
 	
+	/* Show forward button */
+	gtk_widget_show (GTK_WIDGET (data->forward_button));
+
 	gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button), FALSE);
+	gtk_widget_set_sensitive (GTK_WIDGET (data->forward_button), FALSE);
 	
 	if (!open) return;
 	
@@ -275,6 +279,9 @@
 {
 	GtkAdjustment *hadjust, *vadjust;
 
+	/* Hide forward button */
+	gtk_widget_hide (GTK_WIDGET (data->forward_button));
+
 	if (data->notes_scroll_idle) g_source_remove (data->notes_scroll_idle);
 	g_object_get (G_OBJECT (data->notes_treeview),
 		"hadjustment", &hadjust, "vadjustment", &vadjust, NULL);
@@ -601,6 +608,33 @@
 }
 
 static void
+forward_clicked_cb (GtkToolButton *button, SmsData *data)
+{
+	gchar *body;
+	GtkTreeIter iter;
+	GtkTreeModel *model;
+	GtkTreeSelection *selection;
+
+	/* Fill in compose box with message text and call new */
+	selection = gtk_tree_view_get_selection (
+		GTK_TREE_VIEW (data->notes_treeview));
+	if ((!selection) ||
+	    (!gtk_tree_selection_get_selected (selection, &model, &iter)))
+		return;
+	
+	gtk_tree_model_get (model, &iter,
+		JANA_GTK_NOTE_STORE_COL_BODY, &body, -1);
+	gtk_text_buffer_set_text (gtk_text_view_get_buffer (
+		GTK_TEXT_VIEW (data->sms_textview)), body, -1);
+	g_free (body);
+	
+	/* TODO: Launch a contact-picker */
+	
+	gtk_notebook_set_current_page (
+		GTK_NOTEBOOK (data->notebook), SMS_PAGE_COMPOSE);
+}
+
+static void
 delete_clicked_cb (GtkToolButton *button, SmsData *data)
 {
 	gchar *uid;
@@ -752,9 +786,13 @@
 	if (!gtk_tree_selection_get_selected (selection, &model, &iter)) {
 		gtk_widget_set_sensitive (GTK_WIDGET (
 			data->delete_button), FALSE);
+		gtk_widget_set_sensitive (GTK_WIDGET (
+			data->forward_button), FALSE);
 	} else {
 		gtk_widget_set_sensitive (GTK_WIDGET (
 			data->delete_button), TRUE);
+		gtk_widget_set_sensitive (GTK_WIDGET (
+			data->forward_button), TRUE);
 	}
 }
 
@@ -864,7 +902,9 @@
 	
 	jana_store_open (data->notes);
 
-	/* Connect to toolbar delete buttons */
+	/* Connect to toolbar button-click signals */
+	g_signal_connect (data->forward_button, "clicked",
+		G_CALLBACK (forward_clicked_cb), data);
 	g_signal_connect (data->delete_button, "clicked",
 		G_CALLBACK (delete_clicked_cb), data);
 	g_signal_connect (data->delete_all_button, "clicked",

Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h	2008-01-14 13:02:21 UTC (rev 3825)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms.h	2008-01-14 14:08:55 UTC (rev 3826)
@@ -57,6 +57,7 @@
 	GtkWidget *window;
 	GtkWidget *notebook;
 	GtkToolItem *new_button;
+	GtkToolItem *forward_button;
 	GtkToolItem *delete_all_button;
 	GtkToolItem *delete_button;
 





More information about the commitlog mailing list