r4300 - in trunk/src/target/OM-2007.2/applications/openmoko-messages2: . src
thomas at sita.openmoko.org
thomas at sita.openmoko.org
Wed Apr 2 23:06:16 CEST 2008
Author: thomas
Date: 2008-04-02 23:06:15 +0200 (Wed, 02 Apr 2008)
New Revision: 4300
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.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-utils.c
Log:
2008-04-02 Thomas Wood <thomas at openedhand.com>
* src/sms-contacts.c:
* src/sms-notes.c:
* src/sms-utils.c:
Re-add the New button to the notes pages.
Add a delete all button to the contacts page, to delete all selected
contact's messages
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog 2008-04-02 15:17:25 UTC (rev 4299)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog 2008-04-02 21:06:15 UTC (rev 4300)
@@ -1,5 +1,16 @@
2008-04-02 Thomas Wood <thomas at openedhand.com>
+ * src/sms-contacts.c:
+ * src/sms-notes.c:
+ * src/sms-utils.c:
+
+ Re-add the New button to the notes pages.
+
+ Add a delete all button to the contacts page, to delete all selected
+ contact's messages
+
+2008-04-02 Thomas Wood <thomas at openedhand.com>
+
* src/Makefile.am:
* src/test-notes.c:
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c 2008-04-02 15:17:25 UTC (rev 4299)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c 2008-04-02 21:06:15 UTC (rev 4300)
@@ -104,6 +104,12 @@
}
static void
+delete_all_clicked_cb (GtkWidget *button, SmsData *data)
+{
+ sms_delete_selected_contact_messages (data);
+}
+
+static void
dial_clicked_cb (GtkWidget *button, SmsData *data)
{
GList *numbers;
@@ -597,49 +603,36 @@
selection_changed_cb (GtkTreeSelection *selection, SmsData *data)
{
GtkTreeModel *model;
- gboolean sensitive;
+ gboolean selected, has_messages;
GtkTreeIter iter;
gchar *detail;
- if (!gtk_tree_selection_get_selected (selection, &model, &iter)) {
- gtk_widget_set_sensitive (GTK_WIDGET (
- data->delete_button), FALSE);
- return;
+ if (!gtk_tree_selection_get_selected (selection, &model, &iter))
+ {
+ selected = FALSE;
+ has_messages = FALSE;
}
-
- /* Not the nicest way to know if there are messages, but better than
- * doing multiple look-ups on the hash-tables
- */
- gtk_tree_model_get (model, &iter, COL_DETAIL, &detail, -1);
- if (!detail) {
- sensitive = FALSE;
- } else {
- sensitive = TRUE;
- if (detail[0] == '0') {
- const gchar *next_line = strchr (detail, '\n') + 1;
- if ((!next_line) || (next_line[0] == '0'))
- sensitive = FALSE;
- }
- g_free (detail);
- }
-
- gtk_widget_set_sensitive (GTK_WIDGET (data->delete_button), sensitive);
-}
-
-void
-sms_contacts_update_delete_all (SmsData *data)
-{
-
- if (gtk_notebook_get_current_page (GTK_NOTEBOOK (data->notebook)) ==
- SMS_PAGE_CONTACTS) {
- if (g_hash_table_size (data->note_count) > 0) {
- gtk_widget_set_sensitive (GTK_WIDGET (
- data->delete_all_button), TRUE);
+ else
+ {
+ selected = TRUE;
+ /* Not the nicest way to know if there are messages, but better than
+ * doing multiple look-ups on the hash-tables
+ */
+ gtk_tree_model_get (model, &iter, COL_DETAIL, &detail, -1);
+ if (!detail) {
+ has_messages = FALSE;
} else {
- gtk_widget_set_sensitive (GTK_WIDGET (
- data->delete_all_button), FALSE);
+ has_messages = TRUE;
+ if (detail[0] == '0') {
+ const gchar *next_line = strchr (detail, '\n') + 1;
+ if ((!next_line) || (next_line[0] == '0'))
+ has_messages = FALSE;
+ }
+ g_free (detail);
}
}
+ gtk_widget_set_sensitive (GTK_WIDGET (data->dial_button), selected);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), has_messages);
}
GtkWidget *
@@ -800,9 +793,20 @@
data->dial_button = gtk_tool_button_new_from_stock (MOKO_STOCK_CALL_DIAL);
gtk_tool_item_set_expand (data->dial_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), data->dial_button, -1);
+ gtk_widget_set_sensitive (GTK_WIDGET (data->dial_button), FALSE);
g_signal_connect (data->dial_button, "clicked",
G_CALLBACK (dial_clicked_cb), data);
-
+
+ /* 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_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), FALSE);
+ g_signal_connect (data->delete_all_button, "clicked",
+ G_CALLBACK (delete_all_clicked_cb), data);
+
+
/* Pack widgets into vbox and return */
vbox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), toolbar,
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-04-02 15:17:25 UTC (rev 4299)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-notes.c 2008-04-02 21:06:15 UTC (rev 4300)
@@ -632,6 +632,36 @@
}
static void
+new_clicked_cb (GtkToolButton *button, SmsData *data)
+{
+ GtkTreeSelection *selection;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gchar *author;
+
+ selection = gtk_tree_view_get_selection (
+ GTK_TREE_VIEW (data->notes_treeview));
+ if ((!selection) ||
+ (!gtk_tree_selection_get_selected (selection, &model, &iter)))
+ {
+ /* TODO: find the current selected contact preferred number? */
+ author = g_strdup ("");
+ }
+ else
+ {
+ gtk_tree_model_get (model, &iter,
+ JANA_GTK_NOTE_STORE_COL_AUTHOR, &author, -1);
+ }
+
+ gtk_text_buffer_set_text (gtk_text_view_get_buffer (
+ GTK_TEXT_VIEW (data->sms_textview)), author, -1);
+
+ gtk_notebook_set_current_page (
+ GTK_NOTEBOOK (data->notebook), SMS_PAGE_COMPOSE);
+ g_free (author);
+}
+
+static void
forward_clicked_cb (GtkToolButton *button, SmsData *data)
{
gchar *body;
@@ -709,14 +739,6 @@
}
static void
-delete_all_clicked_cb (GtkToolButton *button, SmsData *data)
-{
- if (hidden) return;
-
- sms_delete_selected_contact_messages (data);
-}
-
-static void
search_toggled_cb (MokoSearchBar *bar, gboolean search_visible, SmsData *data)
{
gtk_tree_model_filter_refilter (
@@ -793,23 +815,6 @@
}
static void
-row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter,
- SmsData *data)
-{
- gtk_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), TRUE);
-}
-
-static void
-row_deleted_cb (GtkTreeModel *model, GtkTreePath *path, SmsData *data)
-{
- GtkTreeIter iter;
-
- if (!gtk_tree_model_get_iter_first (model, &iter))
- gtk_widget_set_sensitive (GTK_WIDGET (
- data->delete_all_button), FALSE);
-}
-
-static void
selection_changed_cb (GtkTreeSelection *selection, SmsData *data)
{
GtkTreeModel *model;
@@ -836,6 +841,7 @@
GHashTable *colours_hash;
GtkIconTheme *icon_theme;
gint size;
+ GtkToolItem *new_button;
data->author_uid = NULL;
data->author_icon = NULL;
@@ -874,10 +880,6 @@
gtk_tree_model_filter_set_visible_func ((GtkTreeModelFilter *)
data->note_filter, (GtkTreeModelFilterVisibleFunc)
notes_visible_func, data, NULL);
- g_signal_connect (data->note_filter, "row-inserted",
- G_CALLBACK (row_inserted_cb), data);
- g_signal_connect (data->note_filter, "row-deleted",
- G_CALLBACK (row_deleted_cb), data);
/* Create a category-colour hash for the cell renderer */
colours_hash = g_hash_table_new (g_str_hash, g_str_equal);
@@ -900,20 +902,20 @@
/* create toolbar */
toolbar = gtk_toolbar_new ();
-
+
+ /* New button */
+ new_button = gtk_tool_button_new_from_stock (MOKO_STOCK_SMS_NEW);
+ gtk_tool_item_set_expand (new_button, TRUE);
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), new_button, -1);
+ g_signal_connect (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_widget_set_sensitive (GTK_WIDGET (data->delete_all_button), FALSE);
-
/* Delete button */
data->delete_button = gtk_tool_button_new_from_stock (
GTK_STOCK_DELETE);
@@ -970,8 +972,6 @@
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",
- G_CALLBACK (delete_all_clicked_cb), data);
g_signal_connect (data->save_contact_button, "clicked",
G_CALLBACK (save_contact_clicked_cb), data);
Modified: trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-utils.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-utils.c 2008-04-02 15:17:25 UTC (rev 4299)
+++ trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-utils.c 2008-04-02 21:06:15 UTC (rev 4300)
@@ -279,9 +279,6 @@
data->note_count_idle = 0;
- /* Update the delete-all button if we're on the contacts page */
- sms_contacts_update_delete_all (data);
-
/* Change sort column so changing priorities doesn't break iterating
* through the model.
*/
More information about the commitlog
mailing list