r1299 - in trunk/src/target/OM-2007/applications/openmoko-messages: . src

alex_tang at sita.openmoko.org alex_tang at sita.openmoko.org
Fri Mar 9 07:49:00 CET 2007


Author: alex_tang
Date: 2007-03-09 07:48:45 +0100 (Fri, 09 Mar 2007)
New Revision: 1299

Modified:
   trunk/src/target/OM-2007/applications/openmoko-messages/configure.ac
   trunk/src/target/OM-2007/applications/openmoko-messages/src/callbacks.c
   trunk/src/target/OM-2007/applications/openmoko-messages/src/main.c
   trunk/src/target/OM-2007/applications/openmoko-messages/src/main.h
   trunk/src/target/OM-2007/applications/openmoko-messages/src/sms-membership-window.c
Log:
Update configure.ac for send_signal_to_footer.
Update cb_frBtn_clicked to close the Rename Folder Window, shall we need 
a result dialog for success/fail?
Update cb_new_folder to close the New Folder Window.
Fix the message membership window bug by modify cb_mmitem_activate.


Modified: trunk/src/target/OM-2007/applications/openmoko-messages/configure.ac
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-messages/configure.ac	2007-03-09 03:38:11 UTC (rev 1298)
+++ trunk/src/target/OM-2007/applications/openmoko-messages/configure.ac	2007-03-09 06:48:45 UTC (rev 1299)
@@ -13,8 +13,12 @@
 # base deps
 PKG_CHECK_MODULES(OPENMOKO, openmoko-libs >= 0.0.1,,
                  AC_MSG_ERROR([*** Required OpenMoko Libraries >= 0.0.1 not installed ***]))
-LIBS="$LIBS $GTK_LIBS"
-CFLAGS="$CFLAGS $OPENMOKO_CFLAGS"
+PKG_CHECK_MODULES(DBUSGLIB, dbus-glib-1,,
+                 AC_MSG_ERROR([*** Required dbus-glib-1 not installed ***]))
+PKG_CHECK_MODULES(DBUS, dbus-1,,
+	         AC_MSG_ERROR([*** Required dbus-1 not installed ***]))
+LIBS="$LIBS $GTK_LIBS $DBUSGLIB_LIBS $DBUS"
+CFLAGS="$CFLAGS $OPENMOKO_CFLAGS $DBUSGLIB_CFLAGS $DBUS_DFALGS"
 
 # output stuff
 AC_OUTPUT([

Modified: trunk/src/target/OM-2007/applications/openmoko-messages/src/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-messages/src/callbacks.c	2007-03-09 03:38:11 UTC (rev 1298)
+++ trunk/src/target/OM-2007/applications/openmoko-messages/src/callbacks.c	2007-03-09 06:48:45 UTC (rev 1299)
@@ -96,41 +96,44 @@
     GtkWidget* nfResetBtn;
     GtkWidget* nfConfirmBtn;
 
-    MokoDialogWindow* nfWin = moko_dialog_window_new();
-    GtkWidget* nfBox = gtk_vbox_new (FALSE,10);
-    gtk_widget_set_size_request (nfBox, 480, -1);
-    GtkWidget* nfAlign = gtk_alignment_new (0,0,1,1);
-    gtk_alignment_set_padding (GTK_ALIGNMENT(nfAlign), 100, 0, 30, 10);
-    moko_dialog_window_set_title (nfWin, "New Folder");
-    
-    GtkWidget* nfLabel = gtk_label_new ("Please input new folder name:");
-    gtk_misc_set_alignment (GTK_MISC(nfLabel),0,0.5);
-    gtk_box_pack_start (GTK_BOX(nfBox), nfLabel, FALSE, TRUE, 0);
+    if ((d->nfWin != NULL) && (d->nfWin->window != NULL))
+        gtk_entry_set_text (GTK_ENTRY(d->nfEntry),"");
+    else
+    {
+        d->nfWin = moko_dialog_window_new();
+	GtkWidget* nfBox = gtk_vbox_new (FALSE,10);
+	gtk_widget_set_size_request (nfBox, 480, -1);
+	GtkWidget* nfAlign = gtk_alignment_new (0,0,1,1);
+	gtk_alignment_set_padding (GTK_ALIGNMENT(nfAlign), 100, 0, 30, 10);
+	moko_dialog_window_set_title (d->nfWin, "New Folder");
+	
+	GtkWidget* nfLabel = gtk_label_new ("Please input new folder name:");
+	gtk_misc_set_alignment (GTK_MISC(nfLabel),0,0.5);
+	gtk_box_pack_start (GTK_BOX(nfBox), nfLabel, FALSE, TRUE, 0);
+	
+	d->nfEntry = gtk_entry_new ();
+	gtk_box_pack_start (GTK_BOX(nfBox), d->nfEntry, FALSE, TRUE, 0);
+	
+	hbox = gtk_hbox_new (FALSE,20);
+	nfConfirmBtn = gtk_button_new_with_label ("OK");
+	nfResetBtn = gtk_button_new_with_label ("Reset");
+	gtk_box_pack_start (GTK_BOX(hbox), nfConfirmBtn, FALSE, TRUE, 0);
+	gtk_box_pack_start (GTK_BOX(hbox), nfResetBtn, FALSE, TRUE, 0);
+	gtk_box_pack_start (GTK_BOX(nfBox), hbox, FALSE, TRUE, 0);
 
-    hbox = gtk_hbox_new (FALSE,20);
-    d->nfEntry = gtk_entry_new ();
-    gtk_box_pack_start (GTK_BOX(hbox), d->nfEntry, TRUE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX(nfBox), hbox, FALSE, TRUE, 0);
+	gtk_container_add (GTK_CONTAINER(nfAlign),nfBox);
 
-    hbox = gtk_hbox_new (FALSE,20);
-    nfConfirmBtn = gtk_button_new_with_label ("OK");
-    nfResetBtn = gtk_button_new_with_label ("Reset");
-    gtk_box_pack_start (GTK_BOX(hbox), nfConfirmBtn, FALSE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX(hbox), nfResetBtn, FALSE, TRUE, 0);
-    gtk_box_pack_start (GTK_BOX(nfBox), hbox, FALSE, TRUE, 0);
-    gtk_container_add (GTK_CONTAINER(nfAlign),nfBox);
-
-    moko_dialog_window_set_contents (nfWin, nfAlign);
-    g_signal_connect (G_OBJECT(nfConfirmBtn), 
-                      "clicked",
-		      G_CALLBACK(cb_nfBtn_clicked),
-		      d);
-    g_signal_connect (G_OBJECT(nfResetBtn),
-                      "clicked",
-		      G_CALLBACK(cb_nfResetBtn_clicked),
-		      d);
-    gtk_widget_show_all ( GTK_WIDGET(nfWin) );
-    
+	moko_dialog_window_set_contents (d->nfWin, nfAlign);
+	g_signal_connect (G_OBJECT(nfConfirmBtn), 
+	                  "clicked",
+			  G_CALLBACK(cb_nfBtn_clicked),
+			  d);
+	g_signal_connect (G_OBJECT(nfResetBtn),
+	                  "clicked",
+			  G_CALLBACK(cb_nfResetBtn_clicked),
+			  d);
+    }
+    gtk_widget_show_all (d->nfWin);
 }
 
 void cb_mode_read (GtkMenuItem* item, MessengerData* d)
@@ -267,12 +270,12 @@
 void cb_mmitem_activate (GtkMenuItem* item, MessengerData* d)
 {
     g_debug ("message membership");
-    if (d->mmWin == NULL){
-    	d->mmWin = sms_membership_window_new();
-    	sms_membership_window_set_menubox (SMS_MEMBERSHIP_WINDOW(d->mmWin), d->folderlist);
-    	sms_membership_window_set_messages (SMS_MEMBERSHIP_WINDOW(d->mmWin), d->liststore);
+    if (d->mmWin == NULL)
+    {
+        d->mmWin = sms_membership_window_new();
+	sms_membership_window_set_menubox (SMS_MEMBERSHIP_WINDOW(d->mmWin), d->folderlist);
+	sms_membership_window_set_messages (SMS_MEMBERSHIP_WINDOW(d->mmWin), d->liststore);
     }
-    sms_membership_window_set_menubox (SMS_MEMBERSHIP_WINDOW(d->mmWin), d->folderlist);
     sms_membership_window_show ( SMS_MEMBERSHIP_WINDOW(d->mmWin) );
 }
 
@@ -297,14 +300,11 @@
 	}
     }
     d->filtmenu = reload_filter_menu (d,d->folderlist);
-
     MokoMenuBox* menubox = moko_paned_window_get_menubox( d->window );
     g_signal_connect( G_OBJECT(menubox), "filter_changed", G_CALLBACK(cb_filter_changed), d );
     moko_menu_box_set_filter_menu(menubox, GTK_MENU(d->filtmenu));
     gtk_widget_show_all (GTK_WIDGET(menubox));
-
-    GdkWindow* parent = gtk_widget_get_parent_window (GTK_WIDGET(button));
-    gdk_window_destroy (parent);
+    gtk_widget_hide (d->frWin);
 }
 
 void cb_frResetBtn_clicked (GtkButton* button, GtkWidget* entry)
@@ -336,40 +336,44 @@
 	GtkWidget* frResetBtn;
 	GtkWidget* frConfirmBtn;
 
-        MokoDialogWindow* frWin = moko_dialog_window_new();
-	GtkWidget* frBox = gtk_vbox_new (FALSE,10);
-	gtk_widget_set_size_request (frBox, 480, -1);
-	GtkWidget* frAlign = gtk_alignment_new (0,0,1,1);
-	gtk_alignment_set_padding (GTK_ALIGNMENT(frAlign), 100, 0, 30, 10);
-	moko_dialog_window_set_title (frWin, "Folder Rename");
-		    
-        GtkWidget* menuitem = gtk_menu_get_attach_widget (GTK_MENU(d->filtmenu));
-	GtkWidget* menulabel = GTK_BIN(menuitem)->child;
-	GtkWidget* frLabel = gtk_label_new (g_strdup_printf("Please input new folder name for %s:", 	    					gtk_label_get_text (GTK_LABEL(menulabel))));
-	gtk_misc_set_alignment (GTK_MISC(frLabel),0,0.5);
-	gtk_box_pack_start (GTK_BOX(frBox), frLabel, FALSE, TRUE, 0);
-		
-	d->frEntry = gtk_entry_new ();
-	gtk_box_pack_start (GTK_BOX(frBox), d->frEntry, FALSE, TRUE, 0);
-		
-	hbox = gtk_hbox_new (FALSE,20);
-	frConfirmBtn = gtk_button_new_with_label ("OK");
-	frResetBtn = gtk_button_new_with_label ("Reset");
-	gtk_box_pack_start (GTK_BOX(hbox), frConfirmBtn, FALSE, TRUE, 0);
-	gtk_box_pack_start (GTK_BOX(hbox), frResetBtn, FALSE, TRUE, 0);
-	gtk_box_pack_start (GTK_BOX(frBox), hbox, FALSE, TRUE, 0);
-	gtk_container_add (GTK_CONTAINER(frAlign),frBox);
-		
-	moko_dialog_window_set_contents (frWin, frAlign);
-	g_signal_connect (G_OBJECT(frConfirmBtn), 
-	                  "clicked",
-			  G_CALLBACK(cb_frBtn_clicked),
-			  d);
-	g_signal_connect (G_OBJECT(frResetBtn),
-	                  "clicked",
-			  G_CALLBACK(cb_frResetBtn_clicked),
-			  d->frEntry);
-        gtk_widget_show_all ( GTK_WIDGET(frWin) );
+        if ((d->frWin != NULL) && (d->frWin->window != NULL))
+	    gtk_entry_set_text (GTK_ENTRY(d->frEntry),"");
+	else{
+	    d->frWin = moko_dialog_window_new();
+	    GtkWidget* frBox = gtk_vbox_new (FALSE,10);
+	    gtk_widget_set_size_request (frBox, 480, -1);
+	    GtkWidget* frAlign = gtk_alignment_new (0,0,1,1);
+	    gtk_alignment_set_padding (GTK_ALIGNMENT(frAlign), 100, 0, 30, 10);
+	    moko_dialog_window_set_title (d->frWin, "Folder Rename");
+
+	    GtkWidget* menuitem = gtk_menu_get_attach_widget (GTK_MENU(d->filtmenu));
+	    GtkWidget* menulabel = GTK_BIN(menuitem)->child;
+	    GtkWidget* frLabel = gtk_label_new (g_strdup_printf("Please input new folder name for %s:",	gtk_label_get_text (GTK_LABEL(menulabel))));
+	    gtk_misc_set_alignment (GTK_MISC(frLabel),0,0.5);
+	    gtk_box_pack_start (GTK_BOX(frBox), frLabel, FALSE, TRUE, 0);
+
+	    d->frEntry = gtk_entry_new ();
+	    gtk_box_pack_start (GTK_BOX(frBox), d->frEntry, FALSE, TRUE, 0);
+
+	    hbox = gtk_hbox_new (FALSE,20);
+	    frConfirmBtn = gtk_button_new_with_label ("OK");
+	    frResetBtn = gtk_button_new_with_label ("Reset");
+	    gtk_box_pack_start (GTK_BOX(hbox), frConfirmBtn, FALSE, TRUE, 0);
+	    gtk_box_pack_start (GTK_BOX(hbox), frResetBtn, FALSE, TRUE, 0);
+	    gtk_box_pack_start (GTK_BOX(frBox), hbox, FALSE, TRUE, 0);
+	    gtk_container_add (GTK_CONTAINER(frAlign),frBox);
+	    
+	    moko_dialog_window_set_contents (d->frWin, frAlign);
+	    g_signal_connect (G_OBJECT(frConfirmBtn), 
+	                      "clicked",
+			      G_CALLBACK(cb_frBtn_clicked),
+			      d);
+            g_signal_connect (G_OBJECT(frResetBtn),
+	                      "clicked",
+		              G_CALLBACK(cb_frResetBtn_clicked),
+			      d->frEntry);
+	}
+	gtk_widget_show_all ( GTK_WIDGET(d->frWin) );
    }
 }
 
@@ -385,6 +389,7 @@
     gtk_widget_show_all (GTK_WIDGET(menubox));
     foldersdb_update (d->folderlist);
     update_folder_sensitive(d, d->folderlist);
+    gtk_widget_hide (d->nfWin);
 }
 
 void cb_nfResetBtn_clicked (GtkButton* button, MessengerData* d)

Modified: trunk/src/target/OM-2007/applications/openmoko-messages/src/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-messages/src/main.c	2007-03-09 03:38:11 UTC (rev 1298)
+++ trunk/src/target/OM-2007/applications/openmoko-messages/src/main.c	2007-03-09 06:48:45 UTC (rev 1299)
@@ -453,7 +453,6 @@
     GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(d->view) );
     g_signal_connect( G_OBJECT(selection), "changed", G_CALLBACK(cb_cursor_changed), d ); 
     moko_paned_window_set_upper_pane( d->window, GTK_WIDGET(moko_tree_view_put_into_scrolled_window(MOKO_TREE_VIEW(d->view))) );
-    gtk_widget_hide(d->mmWin);
 }
 
 void populate_detail_area( MessengerData* d )

Modified: trunk/src/target/OM-2007/applications/openmoko-messages/src/main.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-messages/src/main.h	2007-03-09 03:38:11 UTC (rev 1298)
+++ trunk/src/target/OM-2007/applications/openmoko-messages/src/main.h	2007-03-09 06:48:45 UTC (rev 1299)
@@ -48,11 +48,13 @@
     gchar* s_key;
     gint   msg_num;
     gboolean searchOn;
-    GtkWidget* nfEntry;
-    GtkWidget* frEntry;
     GtkWidget* mmWin;
     GtkWidget* mmitem;
     GtkWidget* fnitem;
+    GtkWidget* frWin;
+    GtkWidget* nfWin;
+    GtkWidget* nfEntry;
+    GtkWidget* frEntry;
     DBusConnection *bus;
 }MessengerData;
 

Modified: trunk/src/target/OM-2007/applications/openmoko-messages/src/sms-membership-window.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-messages/src/sms-membership-window.c	2007-03-09 03:38:11 UTC (rev 1298)
+++ trunk/src/target/OM-2007/applications/openmoko-messages/src/sms-membership-window.c	2007-03-09 06:48:45 UTC (rev 1299)
@@ -102,7 +102,7 @@
     return GTK_WIDGET(g_object_new(SMS_TYPE_MEMBERSHIP_WINDOW, NULL));
 }
 
-/*static void sms_membership_window_close(SmsMembershipWindow* self)
+static void sms_membership_window_close(SmsMembershipWindow* self)
 {
     GtkWidget *widget = GTK_WIDGET(self);
     GdkEvent *event;
@@ -114,7 +114,7 @@
 
     gtk_main_do_event( event );
     gdk_event_free( event );
-}*/
+}
 
 gboolean membership_filter_changed(GtkWidget* widget, gchar* text, SmsMembershipWindow* self)
 {
@@ -278,11 +278,13 @@
 	    rdo_btn_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (rdo_btn));
 	    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rdo_btn), TRUE);
         }
-	else rdo_btn = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (rdo_btn), folder);
+	else
+	    rdo_btn = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (rdo_btn), folder);
 	priv->rdoBtnList = g_slist_append (priv->rdoBtnList,rdo_btn);
 	g_signal_connect (G_OBJECT(rdo_btn), "released", G_CALLBACK (membeship_rdo_btn_clicked), self);
 	gtk_box_pack_start (GTK_BOX (rdobtnbox), rdo_btn, FALSE, TRUE, 0);
     }
+
     //set radio button box alignment
     GtkAlignment* alignment = GTK_ALIGNMENT(gtk_alignment_new (0.5, 0.5, 1, 1));
     gtk_alignment_set_padding (alignment, 5, 5, 30, 5);
@@ -296,22 +298,22 @@
 
 void
 membership_cell_data_func (GtkTreeViewColumn *col,
-				GtkCellRenderer   *renderer,
-				GtkTreeModel      *model,
-				GtkTreeIter  	    *iter,
-				gpointer          user_data)
+		           GtkCellRenderer   *renderer,
+			   GtkTreeModel      *model,
+			   GtkTreeIter       *iter,
+			   gpointer          user_data)
 {
-	gint status;
+    gint status;
 	
-  gtk_tree_model_get(model, iter, COLUMN_STATUS, &status, -1);
-
-  if (status == UNREAD)
-      g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, "weight-set", TRUE, NULL);
-  else
-      g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, "weight-set", FALSE, NULL);
+    gtk_tree_model_get(model, iter, COLUMN_STATUS, &status, -1);
+    if (status == UNREAD)
+        g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, "weight-set", TRUE, NULL);
+    else
+        g_object_set(renderer, "weight", PANGO_WEIGHT_BOLD, "weight-set", FALSE, NULL);
 }
 
-void membership_cursor_changed(GtkTreeSelection* selection, SmsMembershipWindow* self)
+void membership_cursor_changed(GtkTreeSelection    *selection, 
+                               SmsMembershipWindow *self)
 {
     SmsMembershipWindowPrivate* priv = SMS_MEMBERSHIP_WINDOW_GET_PRIVATE(self);
     GtkTreeModel* model;
@@ -343,15 +345,18 @@
 
 gboolean membership_filter_visible_function (GtkTreeModel* model, GtkTreeIter* iter, SmsMembershipWindow* self)
 {
-	  gchar* folder;
-	  SmsMembershipWindowPrivate* priv = SMS_MEMBERSHIP_WINDOW_GET_PRIVATE(self);
-	  gtk_tree_model_get (model, iter, COLUMN_FOLDER, &folder, -1);
-	  if(!g_strcasecmp(folder,priv->currentfolder))
-	  	return TRUE;
-    else return FALSE;
+    gchar* folder;
+    SmsMembershipWindowPrivate* priv = SMS_MEMBERSHIP_WINDOW_GET_PRIVATE(self);
+    gtk_tree_model_get (model, iter, COLUMN_FOLDER, &folder, -1);
+    g_debug ("message folder %s, current folder %s", folder, priv->currentfolder);
+    if(!g_strcasecmp(folder,priv->currentfolder))
+  	return TRUE;
+    else
+        return FALSE;
 }
 
-void sms_membership_window_set_messages (SmsMembershipWindow* self, GtkListStore* liststore)
+void sms_membership_window_set_messages (SmsMembershipWindow* self, 
+                                         GtkListStore* liststore)
 {
     GtkCellRenderer* ren;
     GtkTreeViewColumn* column = gtk_tree_view_column_new();





More information about the commitlog mailing list