r569 - trunk/src/target/OM-2007/applications/openmoko-mainmenu/src

tongsong_li at sita.openmoko.org tongsong_li at sita.openmoko.org
Wed Jan 17 09:36:59 CET 2007


Author: tongsong_li
Date: 2007-01-17 09:36:30 +0100 (Wed, 17 Jan 2007)
New Revision: 569

Removed:
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.c
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.h
Modified:
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.c
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.h
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.c
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.h
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c
   trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.h
Log:
add hide application window function instead of close application, add record last launched application function, by Sun Zhiyong <sunzhiyong at fic-sh.com.cn>

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/Makefile.am	2007-01-17 08:36:30 UTC (rev 569)
@@ -5,7 +5,7 @@
 bin_PROGRAMS = openmoko-mainmenu
 
 openmoko_mainmenu_SOURCES = main.c \
-			   mainmenu.c close-page.c mokoiconview.c\
+			   mainmenu.c mokoiconview.c\
 			   mokodesktop.c mokodesktop_item.c\
 			   callbacks.c app-history.c
 

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.c	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.c	2007-01-17 08:36:30 UTC (rev 569)
@@ -1,18 +1,25 @@
 #include "app-history.h"
 
-void
-moko_sample_hisory_app_fill(MokoPixmapButton *btn)
+static int current = 0;
+
+static void 
+pointer_check()
 {
-   GtkWidget *image;
-
-   image = gtk_image_new_from_file ("/usr/share/pixmaps/gnome-eyes.png");
-
-   moko_pixmap_button_set_finger_toolbox_btn_center_image(btn, image);
-   
+    if (current < MAX_RECORD_APP )
+    	return;
+    else
+    	current = 0;
 }
 
 void
-moko_add_history_app_image (MokoPixmapButton* btn, GdkPixbuf *pixbuf)
+moko_hisory_app_fill(MokoPixmapButton **btn, const char *path)
 {
-  moko_pixmap_button_set_finger_toolbox_btn_center_image(btn, gtk_image_new_from_pixbuf (pixbuf)); 
+   GtkWidget *image;
+   image = gtk_image_new_from_file (path);
+
+   if (!path)
+   	return;
+   pointer_check();
+   moko_pixmap_button_set_finger_toolbox_btn_center_image(btn[current], image);
+   current++;
 }

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.h	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/app-history.h	2007-01-17 08:36:30 UTC (rev 569)
@@ -1,17 +1,9 @@
 #ifndef _MOKO_APP_HISTORY_H
 #define _MOKO_APP_HISTORY_H
 
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
 #include <libmokoui/moko-pixmap-button.h>
 
-void
-moko_update_history_app_list ();
+#define MAX_RECORD_APP 4
 
-void
-moko_sample_hisory_app_fill(MokoPixmapButton *btn);
-
-void
-moko_add_history_app_image (MokoPixmapButton* btn, GdkPixbuf *pixbuf);
-
-#endif "app-history.h"
+void moko_hisory_app_fill(MokoPixmapButton **btn, const char *path);
+#endif /*_MOKO_APP_HISTORY_H*/

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.c	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.c	2007-01-17 08:36:30 UTC (rev 569)
@@ -28,10 +28,9 @@
 #include "callbacks.h"
 #include "mokoiconview.h"
 #include "mokodesktop_item.h"
+#include "app-history.h"
 
 
-gboolean close_page_hide = TRUE;
- 
 void
 moko_wheel_bottom_press_cb (GtkWidget *self, MokoMainmenuApp *mma)
 {
@@ -41,15 +40,12 @@
     moko_main_menu_update_content (mma->mm, mma->mm->current);
     gtk_window_present (mma->window);
   }
-  else if (close_page_hide) {
-    gtk_widget_hide (mma->close);
-    gtk_widget_show (mma->mm);
+  else 
+  {
+    gtk_widget_hide (GTK_WIDGET (mma->wheel));
+    gtk_widget_hide (GTK_WIDGET (mma->toolbox));
+    gtk_widget_hide (GTK_WIDGET (mma->window));
   }
-  else {
-    gtk_widget_hide (mma->mm);
-    gtk_widget_show (mma->close);
-  }
-  close_page_hide = !close_page_hide;
 }
 
 void
@@ -77,8 +73,6 @@
   	moko_main_menu_clear (mma->mm);
        //gtk_widget_destroy (mma->mm);
     }
-  if (mma->close)
-    gtk_widget_destroy (mma->close);
   if (mma->wheel)
     gtk_widget_destroy (mma->wheel);
   if (mma->toolbox)
@@ -131,7 +125,7 @@
   {
    switch (fork())
     {
-    case 0:
+        case 0:
       mb_exec((char *)select_item->data);
       fprintf(stderr, "exec failed, cleaning up child\n");
       exit(1);
@@ -139,6 +133,10 @@
       fprintf(stderr, "can't fork\n");
       break;
     }
+     char path[512];
+     snprintf (path, 512, "%s/%s", PIXMAP_PATH, select_item->icon_name);
+     g_debug ("-------select_item path: %s", path);
+      moko_hisory_app_fill(mma->history, path);
   }
 
 moko_icon_view_selection_changed_cb(mma->mm->icon_view, mma);  

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.h	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/callbacks.h	2007-01-17 08:36:30 UTC (rev 569)
@@ -51,4 +51,4 @@
 moko_icon_view_selection_changed_cb(GtkIconView *iconview, 
 												MokoMainmenuApp *mma);
 
-#endif /*callbacks.h*/
+#endif /*_MAIN_MENU_CALLBACKS_H*/

Deleted: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.c	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.c	2007-01-17 08:36:30 UTC (rev 569)
@@ -1,96 +0,0 @@
-/*
- *  openmoko-mainmenu
- *
- *  Authored by Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
- *
- *  Copyright (C) 2006 First International Computer Inc.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU Public License as published by
- *  the Free Software Foundation; version 2.1 of the license.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Public License for more details.
- *
- *  Current Version: $Rev$ ($Date$) [$Author$]
- */
-
-#include <gtk/gtkhbox.h>
-
-#include "close-page.h"
-
-static void 
-moko_close_page_init(MokoClosePage *self);
-
-/**
-*@brief retrun MokoClosePage type.
-*@param none
-*@return GType
-*/
-GType 
-moko_close_page_get_type (void) /* Typechecking */
-{
-    static GType close_page = 0;
-
-    if (!close_page)
-    {
-        static const GTypeInfo type_info =
-        {
-            sizeof (MokoClosePageClass),
-            NULL, /* base_init */
-            NULL, /* base_finalize */
-            NULL, /* class_init */
-            NULL, /* class_finalize */
-            NULL, /* class_data */
-            sizeof (MokoClosePage),
-            0,
-            (GInstanceInitFunc) moko_close_page_init,
-            NULL
-        };
-
-        close_page = g_type_register_static (GTK_TYPE_VBOX, "MokoClosePage", &type_info, 0);
-    }
-
-    return close_page;
-}
-
-static void 
-moko_close_page_init(MokoClosePage *self){
-  GtkHBox *hbox0 = gtk_hbox_new (FALSE, 0);
-  GtkHBox *hbox1 = gtk_hbox_new (FALSE, 0);
-  GtkHBox *hbox2 = gtk_hbox_new (FALSE, 0);
-  GtkHBox *hbox3 = gtk_hbox_new (FALSE, 0);
-  GtkWidget *image = gtk_image_new_from_file (PKGDATADIR"/Back_128x128.png");
-  
-  self ->close_btn = moko_pixmap_button_new();
-  gtk_widget_set_name( GTK_WIDGET(self->close_btn), "mokofingerbutton-big" );
-  moko_pixmap_button_set_center_image (self->close_btn, image);
-  gtk_widget_show (self->close_btn);
-
-  self->info[0] = gtk_label_new ("Click to close the main menu,");
-  gtk_widget_show (self->info);
-  gtk_label_set_justify (self->info, GTK_JUSTIFY_CENTER);
-  gtk_label_set_line_wrap (self->info, TRUE);
-
-  self->info[1] = gtk_label_new ("and turn to the previous application");
-  gtk_widget_show (self->info);
-  gtk_label_set_justify (self->info, GTK_JUSTIFY_CENTER);
-  gtk_label_set_line_wrap (self->info, TRUE);
-
-  gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (hbox0), FALSE, FALSE, 54);
-  gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (hbox1), FALSE, FALSE, 34);
-  gtk_box_pack_start (GTK_BOX (hbox1), GTK_WIDGET (self->close_btn), TRUE, TRUE, 140);
-  gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (hbox2), FALSE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (hbox2), GTK_WIDGET (self->info[0]), TRUE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (self), GTK_WIDGET (hbox3), FALSE, FALSE, 0);
-  gtk_box_pack_start (GTK_BOX (hbox3), GTK_WIDGET (self->info[1]), TRUE, FALSE, 0);
-
-}
-
-GtkWidget *
-moko_close_page_new () {
-  return g_object_new (MOKO_CLOSE_PAGE_TYPE, NULL);
-}
-

Deleted: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.h	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/close-page.h	2007-01-17 08:36:30 UTC (rev 569)
@@ -1,55 +0,0 @@
-/*
- *  openmoko-mainmenu
- *
- *  Authored by Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
- *
- *  Copyright (C) 2006 First International Computer Inc.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU Public License as published by
- *  the Free Software Foundation; version 2.1 of the license.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Public License for more details.
- *
- *  Current Version: $Rev$ ($Date$) [$Author$]
- */
- #ifndef _MOKO_MAIN_MENU_CLOSE_PAGE_H_
-#define _MOKO_MAIN_MENU_CLOSE_PAGE_H_
-
-#include <gtk/gtkbutton.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkvbox.h>
-#include <libmokoui/moko-pixmap-button.h>
-
-
-#define MOKO_CLOSE_PAGE_TYPE				(moko_close_page_get_type())
-#define MOKO_CLOSE_PAGE(obj)				(G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_CLOSE_PAGE_TYPE, MokoClosePage))
-#define MOKO_CLOSE_PAGE_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_CLOSE_PAGE_TYPE, MokoClosePageClass))
-#define IS_MOKO_CLOSE_PAGE(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_CLOSE_PAGE_TYPE))
-#define IS_MOKO_CLOSE_PAGE_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_CLOSE_PAGE_TYPE))
-
-typedef struct _MokoClosePage MokoClosePage;
-typedef struct _MokoClosePageClass MokoClosePageClass;
-
-struct _MokoClosePage {
-	GtkVBox vbox;
-
-	//GtkButton *close_btn;
-	MokoPixmapButton *close_btn;
-	GtkLabel *info[2];
-};
-
-struct _MokoClosePageClass {
-	GtkVBoxClass parent_class;
-};
-
-GType
-moko_close_page_get_type(void);
-
-GtkWidget *
-moko_close_page_new ();
-
-#endif /*close-page.h*/

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.c	2007-01-17 08:36:30 UTC (rev 569)
@@ -28,19 +28,19 @@
 
 #define LOCK_FILE "/tmp/moko-mainmenu.lock"
 
-GtkWidget *main_window = NULL;
+static MokoMainmenuApp *mma;
 
 static void 
 handle_sigusr1 (int value)
 {
-g_debug ("Call handle signal use main window = %x", main_window);
-
-  if (!main_window)
+  if (!mma)
        return;
-  gtk_window_present (main_window);
+  gtk_widget_show_all (GTK_WIDGET(mma->window));
+  gtk_window_present (GTK_WINDOW(mma->window));
+  gtk_widget_show (GTK_WIDGET(mma->wheel));
+  gtk_widget_show (GTK_WIDGET(mma->toolbox));
 
   signal (SIGUSR1, handle_sigusr1);
-
 }
 
 static pid_t 
@@ -109,7 +109,6 @@
 int 
 main( int argc, char** argv ) 
 {
-    MokoMainmenuApp *mma;
     pid_t lockapp;
     int i;
 
@@ -140,11 +139,12 @@
     mma->window = MOKO_FINGER_WINDOW(moko_finger_window_new());
 //    gtk_window_set_decorated (mma->window, FALSE);
     gtk_widget_show (GTK_WIDGET (mma->window));
-    main_window = mma->window;
 
     /* finger wheel object*/
     mma->wheel = moko_finger_window_get_wheel (mma->window);
+        gtk_window_set_title (GTK_WIDGET (mma->wheel), "wheel");
 
+
     /* finger toolbox object*/
     mma->toolbox = moko_finger_window_get_toolbox(mma->window);
     //initialize toolbox's buttons, which are MokoPixmapButton objects.
@@ -157,9 +157,6 @@
     /* MokoMainMenu object */
     mma->mm = moko_main_menu_new();
 
-    /* MokoClosePage object */
-    mma->close = moko_close_page_new ();
-
     /* signal connected*/
     //finger wheel object signals
     g_signal_connect (mma->wheel, "press_bottom",
@@ -168,9 +165,6 @@
     		G_CALLBACK ( moko_wheel_left_up_press_cb), mma);
     g_signal_connect (mma->wheel, "press_right_down",
     		G_CALLBACK ( moko_wheel_right_down_press_cb), mma);
-    //MokoClosePage object signals
-    g_signal_connect (mma->close->close_btn, "released",
-    		G_CALLBACK (moko_close_page_close_btn_released_cb), mma);
     //MokoMainMenu:MokoIconView object signals
     g_signal_connect (mma->mm->icon_view, "selection-changed",
     		G_CALLBACK (moko_icon_view_selection_changed_cb), mma);
@@ -181,8 +175,7 @@
 
     /* put MokoMainMenu object and MokoClosePange object into the finger based window */
     moko_finger_window_set_contents (mma->window, GTK_WIDGET(mma->mm));
-    moko_finger_window_set_contents (mma->window, GTK_WIDGET(mma->close));
-    
+   
     /* show everything and run main loop */
     gtk_widget_show_all (GTK_WIDGET(mma->window) );
 
@@ -190,12 +183,7 @@
     gtk_widget_show (GTK_WIDGET (mma->wheel));	
     gtk_widget_show (GTK_WIDGET (mma->toolbox));
     gtk_widget_show (GTK_WIDGET (mma->mm));
-    gtk_widget_hide (GTK_WIDGET (mma->close));
 
-    /*test code, delete later*/
-    moko_sample_hisory_app_fill (mma->history[0]);
-
-    
     gtk_main();
 
     if (mma)

Modified: trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.h	2007-01-17 08:06:23 UTC (rev 568)
+++ trunk/src/target/OM-2007/applications/openmoko-mainmenu/src/main.h	2007-01-17 08:36:30 UTC (rev 569)
@@ -27,7 +27,7 @@
 #include <libmokoui/moko-pixmap-button.h>
 
 #include "mainmenu.h"
-#include "close-page.h"
+#include "app-history.h"
 
 typedef struct _MokoMainmenuApp MokoMainmenuApp;
 
@@ -38,8 +38,7 @@
     MokoFingerWheel *wheel;
     MokoFingerToolBox *toolbox;
     MokoMainMenu *mm;
-    MokoClosePage *close;
-    MokoPixmapButton *history[4];
+    MokoPixmapButton *history[MAX_RECORD_APP];
 };
 
 #endif /*main.h*/





More information about the commitlog mailing list