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

chris at sita.openmoko.org chris at sita.openmoko.org
Mon Dec 17 14:27:39 CET 2007


Author: chris
Date: 2007-12-17 14:27:38 +0100 (Mon, 17 Dec 2007)
New Revision: 3659

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c
Log:
        * src/sms-notes.c: (delete_clicked_cb):
        Implement delete functionality in notes view (allows deleting of
        individual messages)


Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog	2007-12-17 12:11:35 UTC (rev 3658)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog	2007-12-17 13:27:38 UTC (rev 3659)
@@ -1,5 +1,11 @@
 2007-12-17  Chris Lord  <chris at openedhand.com>
 
+	* src/sms-notes.c: (delete_clicked_cb):
+	Implement delete functionality in notes view (allows deleting of
+	individual messages)
+
+2007-12-17  Chris Lord  <chris at openedhand.com>
+
 	* src/sms-contacts.c: (delete_all_added_cb),
 	(delete_all_progress_cb), (delete_all_clicked_cb):
 	Implement delete-all functionality in the contacts view

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	2007-12-17 12:11:35 UTC (rev 3658)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c	2007-12-17 13:27:38 UTC (rev 3659)
@@ -491,7 +491,43 @@
 static void
 delete_clicked_cb (GtkToolButton *button, SmsData *data)
 {
+	gchar *uid;
+	gint response;
+	GtkTreeIter iter;
+	GtkWidget *dialog;
+	GtkTreeModel *model;
+	JanaComponent *comp;
+	GtkTreeSelection *selection;
+	
 	if (hidden) return;
+	
+	dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (data->window),
+		GTK_DIALOG_MODAL,
+		GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
+		"Delete selected message?");
+	gtk_dialog_add_buttons (GTK_DIALOG (dialog), GTK_STOCK_CANCEL,
+		GTK_RESPONSE_CANCEL, GTK_STOCK_DELETE, GTK_RESPONSE_YES, NULL);
+	
+	response = gtk_dialog_run (GTK_DIALOG (dialog));
+	gtk_widget_destroy (dialog);
+	if (response != GTK_RESPONSE_YES) return;
+
+	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_UID, &uid, -1);
+	if (!uid) return;
+	
+	comp = jana_store_get_component (data->notes, uid);
+	if (!comp) return;
+	
+	jana_store_remove_component (data->notes, comp);
+	g_object_unref (comp);
+	g_free (uid);
 }
 
 static void





More information about the commitlog mailing list