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