r2129 - in trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu: . src
stefan at sita.openmoko.org
stefan at sita.openmoko.org
Sat Jun 2 14:11:48 CEST 2007
Author: stefan
Date: 2007-06-02 14:11:46 +0200 (Sat, 02 Jun 2007)
New Revision: 2129
Modified:
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/ChangeLog
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.h
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/openmoko-panel-mainmenu.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.c
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.h
Log:
Lindent run over all files besides buttonactions.{c,h} as mickey is
working on them right now.
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/ChangeLog
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/ChangeLog 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/ChangeLog 2007-06-02 12:11:46 UTC (rev 2129)
@@ -0,0 +1,4 @@
+2007-06-02 Stefan Schmidt <stefan at openmoko.org>
+
+ Lindent run over all files besides buttonactions.{c,h} as mickey is
+ working on them right now.
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.c 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.c 2007-06-02 12:11:46 UTC (rev 2129)
@@ -1,344 +1,323 @@
#include "mokodesktop.h"
#include "mokodesktop_item.h"
-static void
-item_activate_cb(void *data1, void *data2);
+static void item_activate_cb(void *data1, void *data2);
-static char* RootMatchStr = NULL;
+static char *RootMatchStr = NULL;
static int ItemTypeDotDesktop = 0;
-
-static MokoDesktopItem *
-mokodesktop_get_top_level_folder(MokoDesktopItem *top_head_item)
+static MokoDesktopItem *mokodesktop_get_top_level_folder(MokoDesktopItem *
+ top_head_item)
{
- return top_head_item;
+ return top_head_item;
}
-static MokoDesktopItem *
-get_folder_from_name ( MokoDesktopItem *top_head_item, char *name )
+static MokoDesktopItem *get_folder_from_name(MokoDesktopItem * top_head_item,
+ char *name)
{
- MokoDesktopItem *item, *item_top;
+ MokoDesktopItem *item, *item_top;
- item_top = mokodesktop_get_top_level_folder(top_head_item);
+ item_top = mokodesktop_get_top_level_folder(top_head_item);
- if (!strcasecmp(name, "root"))
- return item_top;
+ if (!strcasecmp(name, "root"))
+ return item_top;
- mokodesktop_items_enumerate_siblings(mokodesktop_item_get_child(item_top), item)
- {
- if (!strcmp(name, mokodesktop_item_get_name (item)))
- return item;
- }
-
- return NULL;
+ mokodesktop_items_enumerate_siblings(mokodesktop_item_get_child
+ (item_top), item) {
+ if (!strcmp(name, mokodesktop_item_get_name(item)))
+ return item;
+ }
+
+ return NULL;
}
-static MokoDesktopItem *
-match_folder ( MokoDesktopItem *top_head_item, char *category )
+static MokoDesktopItem *match_folder(MokoDesktopItem * top_head_item,
+ char *category)
{
- MokoDesktopItem *item, *item_fallback = NULL, *item_top;
- char *match_str;
+ MokoDesktopItem *item, *item_fallback = NULL, *item_top;
+ char *match_str;
- if (category && strstr(category, "Action"))
- return NULL;
+ if (category && strstr(category, "Action"))
+ return NULL;
- item_top = mokodesktop_get_top_level_folder(top_head_item);
+ item_top = mokodesktop_get_top_level_folder(top_head_item);
- if (RootMatchStr)
- {
- if (!strcmp("fallback", RootMatchStr))
- {
- item_fallback = item_top;
- }
- else if (category && strstr(category, RootMatchStr))
- {
- return item_top;
- }
- }
+ if (RootMatchStr) {
+ if (!strcmp("fallback", RootMatchStr)) {
+ item_fallback = item_top;
+ } else if (category && strstr(category, RootMatchStr)) {
+ return item_top;
+ }
+ }
- mokodesktop_items_enumerate_siblings(mokodesktop_item_get_child(item_top), item)
- {
- if (mokodesktop_item_get_type (item) == ItemTypeDotDesktop)
- {
- match_str = (char *)mokodesktop_item_get_user_data(item);
- if (match_str != NULL)
- {
- if (item_fallback == NULL && !strcmp("fallback", match_str))
- {
- item_fallback = item;
- continue;
- }
- if (category && strstr(category, match_str))
- {
- return item;
- }
- }
- }
- }
- return item_fallback;
+ mokodesktop_items_enumerate_siblings(mokodesktop_item_get_child
+ (item_top), item) {
+ if (mokodesktop_item_get_type(item) == ItemTypeDotDesktop) {
+ match_str =
+ (char *)mokodesktop_item_get_user_data(item);
+ if (match_str != NULL) {
+ if (item_fallback == NULL
+ && !strcmp("fallback", match_str)) {
+ item_fallback = item;
+ continue;
+ }
+ if (category && strstr(category, match_str)) {
+ return item;
+ }
+ }
+ }
+ }
+ return item_fallback;
}
-
static void
-add_a_dotdesktop_item (MokoDesktopItem *top_head_item,
- MBDotDesktop *dd,
- MokoDesktopItem *folder)
+add_a_dotdesktop_item(MokoDesktopItem * top_head_item,
+ MBDotDesktop * dd, MokoDesktopItem * folder)
{
- MokoDesktopItem *item_new = NULL, *item_before, *found_folder_item = NULL;
- Bool have_attached = False;
+ MokoDesktopItem *item_new = NULL, *item_before, *found_folder_item =
+ NULL;
+ Bool have_attached = False;
- if (folder)
- found_folder_item = folder;
- else
- found_folder_item = match_folder( top_head_item, mb_dotdesktop_get(dd, "Categories"));
+ if (folder)
+ found_folder_item = folder;
+ else
+ found_folder_item =
+ match_folder(top_head_item,
+ mb_dotdesktop_get(dd, "Categories"));
- if ( found_folder_item == NULL) return;
-
- item_new = mokodesktop_item_new_with_params(
- mb_dotdesktop_get(dd, "Name"),
+ if (found_folder_item == NULL)
+ return;
+
+ item_new =
+ mokodesktop_item_new_with_params(mb_dotdesktop_get(dd, "Name"),
mb_dotdesktop_get(dd, "Icon"),
(void *)mb_dotdesktop_get_exec(dd),
- ITEM_TYPE_DOTDESKTOP_ITEM
- );
- if (item_new == NULL ) return;
+ ITEM_TYPE_DOTDESKTOP_ITEM);
+ if (item_new == NULL)
+ return;
- mokodesktop_item_set_activate_callback (item_new, item_activate_cb);
+ mokodesktop_item_set_activate_callback(item_new, item_activate_cb);
- item_before = mokodesktop_item_get_child (found_folder_item);
+ item_before = mokodesktop_item_get_child(found_folder_item);
+ if (!item_before) {
- if(!item_before)
- {
-
- mokodesktop_items_append_to_folder( found_folder_item, item_new);
- have_attached = True;
- }
- else
- {
+ mokodesktop_items_append_to_folder(found_folder_item, item_new);
+ have_attached = True;
+ } else {
- do
- {
- MokoDesktopItem *item_next = NULL;
- if ((item_next = mokodesktop_item_get_next_sibling(item_before)) != NULL)
- {
-
- if (item_next->type == ITEM_TYPE_FOLDER
- || item_next->type == ITEM_TYPE_PREVIOUS)
- continue;
-
- if ( (strcasecmp(item_before->name, item_new->name) < 0
- || item_before->type == ITEM_TYPE_FOLDER
- || item_before->type == ITEM_TYPE_PREVIOUS )
- && strcasecmp(item_next->name, item_new->name) > 0)
- {
- have_attached = True;
- mokodesktop_items_insert_after (item_before, item_new);
- break;
- }
- }
- }
- while ((item_before = mokodesktop_item_get_next_sibling(item_before)) != NULL);
- }
-
+ do {
+ MokoDesktopItem *item_next = NULL;
+ if ((item_next =
+ mokodesktop_item_get_next_sibling(item_before)) !=
+ NULL) {
- if (!have_attached)
- {
- mokodesktop_items_append_to_folder( found_folder_item, item_new);
- }
+ if (item_next->type == ITEM_TYPE_FOLDER
+ || item_next->type == ITEM_TYPE_PREVIOUS)
+ continue;
-}
+ if ((strcasecmp
+ (item_before->name, item_new->name) < 0
+ || item_before->type == ITEM_TYPE_FOLDER
+ || item_before->type == ITEM_TYPE_PREVIOUS)
+ && strcasecmp(item_next->name,
+ item_new->name) > 0) {
+ have_attached = True;
+ mokodesktop_items_insert_after
+ (item_before, item_new);
+ break;
+ }
+ }
+ }
+ while ((item_before =
+ mokodesktop_item_get_next_sibling(item_before)) !=
+ NULL);
+ }
+ if (!have_attached) {
+ mokodesktop_items_append_to_folder(found_folder_item, item_new);
+ }
+}
-MokoDesktopItem*
-mokodesktop_folder_create ( MokoDesktopItem *top_head_item,
- char *name,
- char *icon_name )
+MokoDesktopItem *mokodesktop_folder_create(MokoDesktopItem * top_head_item,
+ char *name, char *icon_name)
{
- MokoDesktopItem* item_folder = NULL;
+ MokoDesktopItem *item_folder = NULL;
- item_folder
- = mokodesktop_item_new_with_params( name,
- icon_name,
- NULL,
- ITEM_TYPE_FOLDER
- );
+ item_folder
+ = mokodesktop_item_new_with_params(name,
+ icon_name,
+ NULL, ITEM_TYPE_FOLDER);
- mokodesktop_item_set_activate_callback (item_folder,
- mokodesktop_item_folder_activate_cb);
+ mokodesktop_item_set_activate_callback(item_folder,
+ mokodesktop_item_folder_activate_cb);
- return item_folder;
+ return item_folder;
}
-int
-mokodesktop_init ( MokoDesktopItem *top_head_item,
- int type_reg_cnt )
+int mokodesktop_init(MokoDesktopItem * top_head_item, int type_reg_cnt)
{
#define APP_PATHS_N 4
- DIR *dp;
- struct stat stat_info;
+ DIR *dp;
+ struct stat stat_info;
- char vfolder_path_root[PATH_MAX];
- char vfolder_path[PATH_MAX];
- char orig_wd[PATH_MAX];
+ char vfolder_path_root[PATH_MAX];
+ char vfolder_path[PATH_MAX];
+ char orig_wd[PATH_MAX];
- int desktops_dirs_n = APP_PATHS_N;
+ int desktops_dirs_n = APP_PATHS_N;
- int i = 0;
+ int i = 0;
- MBDotDesktopFolders *ddfolders;
- MBDotDesktopFolderEntry *ddentry;
- MokoDesktopItem *item_new = NULL;
- MBDotDesktop *dd, *user_overides = NULL;
+ MBDotDesktopFolders *ddfolders;
+ MBDotDesktopFolderEntry *ddentry;
+ MokoDesktopItem *item_new = NULL;
+ MBDotDesktop *dd, *user_overides = NULL;
- char app_paths[APP_PATHS_N][PATH_MAX];
- struct dirent **namelist;
+ char app_paths[APP_PATHS_N][PATH_MAX];
+ struct dirent **namelist;
/*
top_head_item = mokodesktop_item_new_with_params ("Home",
NULL,
NULL,
ITEM_TYPE_ROOT );
*/
- ItemTypeDotDesktop = type_reg_cnt;
-
- snprintf( vfolder_path_root, PATH_MAX, "%s/.matchbox/vfolders/Root.directory",
- mb_util_get_homedir());
- snprintf( vfolder_path, PATH_MAX, "%s/.matchbox/vfolders",
- mb_util_get_homedir());
+ ItemTypeDotDesktop = type_reg_cnt;
- if (stat(vfolder_path_root, &stat_info))
- {
- snprintf(vfolder_path_root, PATH_MAX, VFOLDERDIR"/vfolders/Root.directory");
- snprintf(vfolder_path, PATH_MAX, VFOLDERDIR "/vfolders" );
- }
-
-fprintf(stdout, "moko: vfolder_path_root=[%s]\n", vfolder_path_root);
-fprintf(stdout, "moko: vfolder_path=[%s]\n", vfolder_path);
-
- dd = mb_dotdesktop_new_from_file(vfolder_path_root);
+ snprintf(vfolder_path_root, PATH_MAX,
+ "%s/.matchbox/vfolders/Root.directory", mb_util_get_homedir());
+ snprintf(vfolder_path, PATH_MAX, "%s/.matchbox/vfolders",
+ mb_util_get_homedir());
- if (!dd)
- {
- fprintf( stderr, "mokodesktop: cant open %s\n", vfolder_path );
- return -1;
- }
+ if (stat(vfolder_path_root, &stat_info)) {
+ snprintf(vfolder_path_root, PATH_MAX,
+ VFOLDERDIR "/vfolders/Root.directory");
+ snprintf(vfolder_path, PATH_MAX, VFOLDERDIR "/vfolders");
+ }
- RootMatchStr = mb_dotdesktop_get(dd, "Match");
+ fprintf(stdout, "moko: vfolder_path_root=[%s]\n", vfolder_path_root);
+ fprintf(stdout, "moko: vfolder_path=[%s]\n", vfolder_path);
-fprintf(stdout, "moko: RootMatchStr=[%s]\n", RootMatchStr);
-
- mokodesktop_item_set_name (top_head_item,
- mb_dotdesktop_get(dd, "Name"));
- ddfolders = mb_dot_desktop_folders_new(vfolder_path);
+ dd = mb_dotdesktop_new_from_file(vfolder_path_root);
- mb_dot_desktop_folders_enumerate(ddfolders, ddentry)
- {
- item_new
- = mokodesktop_folder_create ( top_head_item,
- mb_dot_desktop_folder_entry_get_name(ddentry),
- mb_dot_desktop_folder_entry_get_icon(ddentry));
+ if (!dd) {
+ fprintf(stderr, "mokodesktop: cant open %s\n", vfolder_path);
+ return -1;
+ }
- mokodesktop_item_set_user_data (item_new,
- (void *)mb_dot_desktop_folder_entry_get_match(ddentry));
+ RootMatchStr = mb_dotdesktop_get(dd, "Match");
- mokodesktop_item_set_type (item_new, ItemTypeDotDesktop);
+ fprintf(stdout, "moko: RootMatchStr=[%s]\n", RootMatchStr);
- mokodesktop_items_append_to_top_level (top_head_item, item_new);
- }
-
-
- //snprintf(app_paths[0], PATH_MAX-1, "%s/applications", DATADIR);
- snprintf(app_paths[0], PATH_MAX-1, "/usr/share/applications");
- snprintf(app_paths[1], PATH_MAX-1, "/usr/share/applications");
- snprintf(app_paths[2], PATH_MAX-1, "/usr/local/share/applications");
- snprintf(app_paths[3], PATH_MAX-1, "%s/.applications", mb_util_get_homedir());
+ mokodesktop_item_set_name(top_head_item, mb_dotdesktop_get(dd, "Name"));
+ ddfolders = mb_dot_desktop_folders_new(vfolder_path);
- if (getcwd(orig_wd, PATH_MAX-1) == (char *)NULL)
- {
- fprintf(stderr, "Cant get current directory\n");
- return -1;
- }
+ mb_dot_desktop_folders_enumerate(ddfolders, ddentry) {
+ item_new
+ = mokodesktop_folder_create(top_head_item,
+ mb_dot_desktop_folder_entry_get_name
+ (ddentry),
+ mb_dot_desktop_folder_entry_get_icon
+ (ddentry));
- for (i = 0; i < desktops_dirs_n; i++)
- {
- int n = 0, j = 0;
+ mokodesktop_item_set_user_data(item_new,
+ (void *)
+ mb_dot_desktop_folder_entry_get_match
+ (ddentry));
- if (i > 0 && !strcmp(app_paths[0], app_paths[i]))
- continue;
+ mokodesktop_item_set_type(item_new, ItemTypeDotDesktop);
- if ((dp = opendir(app_paths[i])) == NULL)
- {
- fprintf(stderr, "mokodesktop: failed to open %s\n", app_paths[i]);
- continue;
- }
-
- chdir(app_paths[i]);
+ mokodesktop_items_append_to_top_level(top_head_item, item_new);
+ }
- //n = scandir(".", &namelist, 0, alphasort);
- n = scandir(".", &namelist, 0, NULL);
+ //snprintf(app_paths[0], PATH_MAX-1, "%s/applications", DATADIR);
+ snprintf(app_paths[0], PATH_MAX - 1, "/usr/share/applications");
+ snprintf(app_paths[1], PATH_MAX - 1, "/usr/share/applications");
+ snprintf(app_paths[2], PATH_MAX - 1, "/usr/local/share/applications");
+ snprintf(app_paths[3], PATH_MAX - 1, "%s/.applications",
+ mb_util_get_homedir());
-
- while (j < n && n > 0)
- {
- if (namelist[j]->d_name[0] == '.')
- goto end;
+ if (getcwd(orig_wd, PATH_MAX - 1) == (char *)NULL) {
+ fprintf(stderr, "Cant get current directory\n");
+ return -1;
+ }
- if (strcmp(namelist[j]->d_name+strlen(namelist[j]->d_name)-8,".desktop"))
- goto end;
+ for (i = 0; i < desktops_dirs_n; i++) {
+ int n = 0, j = 0;
- lstat(namelist[j]->d_name, &stat_info);
- if (!(S_ISDIR(stat_info.st_mode)))
- {
- MBDotDesktop *dd;
- dd = mb_dotdesktop_new_from_file(namelist[j]->d_name);
- if (dd)
- {
- if (mb_dotdesktop_get(dd, "Type")
- && !strcmp(mb_dotdesktop_get(dd, "Type"), "Application")
- && mb_dotdesktop_get(dd, "Name")
- && mb_dotdesktop_get(dd, "Exec"))
- {
- MokoDesktopItem *folder = NULL;
- char full_path[PATH_MAX];
- char *folder_name = NULL;
+ if (i > 0 && !strcmp(app_paths[0], app_paths[i]))
+ continue;
- add_a_dotdesktop_item (top_head_item, dd, folder);
- }
- mb_dotdesktop_free(dd);
- }
- }
- end:
- free(namelist[j]);
- ++j;
- }
-
- closedir(dp);
- free(namelist);
- }
-
- chdir(orig_wd);
+ if ((dp = opendir(app_paths[i])) == NULL) {
+ fprintf(stderr, "mokodesktop: failed to open %s\n",
+ app_paths[i]);
+ continue;
+ }
- return 1;
-}
+ chdir(app_paths[i]);
+ //n = scandir(".", &namelist, 0, alphasort);
+ n = scandir(".", &namelist, 0, NULL);
+ while (j < n && n > 0) {
+ if (namelist[j]->d_name[0] == '.')
+ goto end;
-static void
-item_activate_cb(void *data1, void *data2)
-{
- MokoDesktopItem *top_head_item = (MokoDesktopItem *)data1;
- MokoDesktopItem *item = (MokoDesktopItem *)data2;
+ if (strcmp
+ (namelist[j]->d_name + strlen(namelist[j]->d_name) -
+ 8, ".desktop"))
+ goto end;
- switch (fork())
- {
- case 0:
- mb_exec((char *)item->data);
- fprintf(stderr, "exec failed, cleaning up child\n");
- exit(1);
- case -1:
- fprintf(stderr, "can't fork\n");
- break;
- }
+ lstat(namelist[j]->d_name, &stat_info);
+ if (!(S_ISDIR(stat_info.st_mode))) {
+ MBDotDesktop *dd;
+ dd = mb_dotdesktop_new_from_file(namelist[j]->
+ d_name);
+ if (dd) {
+ if (mb_dotdesktop_get(dd, "Type")
+ &&
+ !strcmp(mb_dotdesktop_get
+ (dd, "Type"), "Application")
+ && mb_dotdesktop_get(dd, "Name")
+ && mb_dotdesktop_get(dd, "Exec")) {
+ MokoDesktopItem *folder = NULL;
+ char full_path[PATH_MAX];
+ char *folder_name = NULL;
+
+ add_a_dotdesktop_item
+ (top_head_item, dd, folder);
+ }
+ mb_dotdesktop_free(dd);
+ }
+ }
+ end:
+ free(namelist[j]);
+ ++j;
+ }
+
+ closedir(dp);
+ free(namelist);
+ }
+
+ chdir(orig_wd);
+
+ return 1;
}
+static void item_activate_cb(void *data1, void *data2)
+{
+ MokoDesktopItem *top_head_item = (MokoDesktopItem *) data1;
+ MokoDesktopItem *item = (MokoDesktopItem *) data2;
+
+ switch (fork()) {
+ case 0:
+ mb_exec((char *)item->data);
+ fprintf(stderr, "exec failed, cleaning up child\n");
+ exit(1);
+ case -1:
+ fprintf(stderr, "can't fork\n");
+ break;
+ }
+}
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h 2007-06-02 12:11:46 UTC (rev 2129)
@@ -26,52 +26,51 @@
#ifdef DEBUG
#define DBG(txt, args... ) fprintf(stderr, "DT-DEBUG: " txt , ##args )
#else
-#define DBG(txt, args... ) /* nothing */
+#define DBG(txt, args... ) /* nothing */
#endif
-
enum {
- ITEM_TYPE_UNKNOWN = 0,
- ITEM_TYPE_ROOT,
+ ITEM_TYPE_UNKNOWN = 0,
+ ITEM_TYPE_ROOT,
- ITEM_TYPE_DOTDESKTOP_FOLDER,
- ITEM_TYPE_DOTDESKTOP_ITEM,
- ITEM_TYPE_MODULE_ITEM,
- ITEM_TYPE_MODULE_WINDOW,
- ITEM_TYPE_APP,
- ITEM_TYPE_FOLDER, /* Same as 'official' Directory */
- ITEM_TYPE_LINK, /* URL */
+ ITEM_TYPE_DOTDESKTOP_FOLDER,
+ ITEM_TYPE_DOTDESKTOP_ITEM,
+ ITEM_TYPE_MODULE_ITEM,
+ ITEM_TYPE_MODULE_WINDOW,
+ ITEM_TYPE_APP,
+ ITEM_TYPE_FOLDER, /* Same as 'official' Directory */
+ ITEM_TYPE_LINK, /* URL */
- ITEM_TYPE_FSDEVICE,
- ITEM_TYPE_MIMETYPE,
- ITEM_TYPE_DIRECTORY,
- ITEM_TYPE_SERVICE,
- ITEM_TYPE_SERVICETYPE ,
+ ITEM_TYPE_FSDEVICE,
+ ITEM_TYPE_MIMETYPE,
+ ITEM_TYPE_DIRECTORY,
+ ITEM_TYPE_SERVICE,
+ ITEM_TYPE_SERVICETYPE,
- ITEM_TYPE_TASK_FOLDER, /* Not official */
- ITEM_TYPE_PREVIOUS,
- ITEM_TYPE_CNT,
+ ITEM_TYPE_TASK_FOLDER, /* Not official */
+ ITEM_TYPE_PREVIOUS,
+ ITEM_TYPE_CNT,
};
-typedef void (*MokoDesktopCB)( void *data1, void *data2 ) ;
+typedef void (*MokoDesktopCB) (void *data1, void *data2);
typedef struct _mokodesktop_item {
- int type;
- int subtype; /* user defined type */
+ int type;
+ int subtype; /* user defined type */
- char *name;
- char *name_extended;
- char *comment;
- char *icon_name;
- void *data;
+ char *name;
+ char *name_extended;
+ char *comment;
+ char *icon_name;
+ void *data;
- MokoDesktopCB activate_cb;
+ MokoDesktopCB activate_cb;
- struct _mokodesktop_item *item_next_sibling;
- struct _mokodesktop_item *item_prev_sibling;
- struct _mokodesktop_item *item_child;
- struct _mokodesktop_item *item_parent;
+ struct _mokodesktop_item *item_next_sibling;
+ struct _mokodesktop_item *item_prev_sibling;
+ struct _mokodesktop_item *item_child;
+ struct _mokodesktop_item *item_parent;
} MokoDesktopItem;
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.c 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.c 2007-06-02 12:11:46 UTC (rev 2129)
@@ -1,321 +1,307 @@
+/**
+ * @file mokodesktop_item.c
+ * @brief The Main Menu in the Openmoko
+ *
+ * Authored by Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
+ *
+ * Copyright (C) 2006-2007 OpenMoko 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 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 "mokodesktop_item.h"
-
#define WARN(txt) fprintf(stderr, "%s:%i %s %s", __FILE__, __LINE__, __func__, txt )
-
-MokoDesktopItem *
-mokodesktop_item_new()
+MokoDesktopItem *mokodesktop_item_new()
{
- MokoDesktopItem *ditem;
- ditem = malloc(sizeof(MokoDesktopItem));
- memset(ditem, 0, sizeof(MokoDesktopItem));
-
- ditem->type = ITEM_TYPE_UNKNOWN;
+ MokoDesktopItem *ditem;
+ ditem = malloc(sizeof(MokoDesktopItem));
+ memset(ditem, 0, sizeof(MokoDesktopItem));
- return ditem;
+ ditem->type = ITEM_TYPE_UNKNOWN;
+
+ return ditem;
}
-void
-mokodesktop_item_free(MokoDesktopItem *item)
+void mokodesktop_item_free(MokoDesktopItem * item)
{
- if (item->name) free(item->name);
- if (item->name_extended) free(item->name_extended);
- if (item->comment) free(item->comment);
- if (item->icon_name) free(item->icon_name);
+ if (item->name)
+ free(item->name);
+ if (item->name_extended)
+ free(item->name_extended);
+ if (item->comment)
+ free(item->comment);
+ if (item->icon_name)
+ free(item->icon_name);
- free(item);
+ free(item);
}
-Bool
-mokodesktop_item_folder_has_contents(MokoDesktopItem *folder)
+Bool mokodesktop_item_folder_has_contents(MokoDesktopItem * folder)
{
- if (folder->item_child && folder->item_child->item_next_sibling)
- return True;
- return False;
+ if (folder->item_child && folder->item_child->item_next_sibling)
+ return True;
+ return False;
}
void
-mokodesktop_item_folder_contents_free( MokoDesktopItem *top_head_item,
- MokoDesktopItem *item)
+mokodesktop_item_folder_contents_free(MokoDesktopItem * top_head_item,
+ MokoDesktopItem * item)
{
- MokoDesktopItem *item_tmp = NULL, *item_cur = NULL;
+ MokoDesktopItem *item_tmp = NULL, *item_cur = NULL;
- if (item->item_child && item->item_child->item_next_sibling)
- {
- if (item == top_head_item )
- {
- item_cur = item->item_child;
- top_head_item->item_child = NULL;
- }
- else item_cur = item->item_child->item_next_sibling;
+ if (item->item_child && item->item_child->item_next_sibling) {
+ if (item == top_head_item) {
+ item_cur = item->item_child;
+ top_head_item->item_child = NULL;
+ } else
+ item_cur = item->item_child->item_next_sibling;
- while (item_cur != NULL)
- {
- item_tmp = item_cur->item_next_sibling;
+ while (item_cur != NULL) {
+ item_tmp = item_cur->item_next_sibling;
- if (item_cur->item_child)
- mokodesktop_item_folder_contents_free(top_head_item, item_cur->item_child);
+ if (item_cur->item_child)
+ mokodesktop_item_folder_contents_free
+ (top_head_item, item_cur->item_child);
- mokodesktop_item_free(item_cur);
- item_cur = item_tmp;
- }
-
- if ( item != top_head_item)
- item->item_child->item_next_sibling = NULL;
- }
-
- // fprintf(stdout, "moko: free ok!\n");
+ mokodesktop_item_free(item_cur);
+ item_cur = item_tmp;
+ }
+
+ if (item != top_head_item)
+ item->item_child->item_next_sibling = NULL;
+ }
+ // fprintf(stdout, "moko: free ok!\n");
}
-MokoDesktopItem *
-mokodesktop_item_new_with_params ( const char *name,
- const char *icon_name,
- void *data,
- int type)
+MokoDesktopItem *mokodesktop_item_new_with_params(const char *name,
+ const char *icon_name,
+ void *data, int type)
{
- MokoDesktopItem *ditem;
- ditem = mokodesktop_item_new();
+ MokoDesktopItem *ditem;
+ ditem = mokodesktop_item_new();
- if (name) ditem->name = strdup(name);
- if (icon_name)
- {
- if (strlen(icon_name) > 5
- && icon_name[strlen(icon_name)-4] != '.'
- && icon_name[strlen(icon_name)-5] != '.')
- {
- ditem->icon_name = malloc(sizeof(char)*(strlen(icon_name)+5));
- sprintf(ditem->icon_name, "%s.png", icon_name);
- }
- else
- {
- ditem->icon_name = strdup(icon_name);
- }
- }
+ if (name)
+ ditem->name = strdup(name);
+ if (icon_name) {
+ if (strlen(icon_name) > 5
+ && icon_name[strlen(icon_name) - 4] != '.'
+ && icon_name[strlen(icon_name) - 5] != '.') {
+ ditem->icon_name =
+ malloc(sizeof(char) * (strlen(icon_name) + 5));
+ sprintf(ditem->icon_name, "%s.png", icon_name);
+ } else {
+ ditem->icon_name = strdup(icon_name);
+ }
+ }
- if (data) ditem->data = data;
+ if (data)
+ ditem->data = data;
- if (type) ditem->type = type;
+ if (type)
+ ditem->type = type;
- return ditem;
+ return ditem;
}
-
void
-mokodesktop_items_append ( MokoDesktopItem *item_head,
- MokoDesktopItem *item )
+mokodesktop_items_append(MokoDesktopItem * item_head, MokoDesktopItem * item)
{
- MokoDesktopItem *item_tmp = NULL;
+ MokoDesktopItem *item_tmp = NULL;
- item_tmp = item_head;
+ item_tmp = item_head;
- while ( item_tmp->item_next_sibling != NULL )
- item_tmp = item_tmp->item_next_sibling;
+ while (item_tmp->item_next_sibling != NULL)
+ item_tmp = item_tmp->item_next_sibling;
- item_tmp->item_next_sibling = item;
- item->item_prev_sibling = item_tmp;
-
- item->item_parent = item_head->item_parent;
+ item_tmp->item_next_sibling = item;
+ item->item_prev_sibling = item_tmp;
+ item->item_parent = item_head->item_parent;
+
}
void
-mokodesktop_items_insert_after ( MokoDesktopItem *suffix_item,
- MokoDesktopItem *item )
+mokodesktop_items_insert_after(MokoDesktopItem * suffix_item,
+ MokoDesktopItem * item)
{
- if (!suffix_item->item_next_sibling)
- {
- mokodesktop_items_append (suffix_item, item);
- return;
- }
+ if (!suffix_item->item_next_sibling) {
+ mokodesktop_items_append(suffix_item, item);
+ return;
+ }
- item->item_next_sibling = suffix_item->item_next_sibling;
+ item->item_next_sibling = suffix_item->item_next_sibling;
- suffix_item->item_next_sibling->item_prev_sibling = item;
+ suffix_item->item_next_sibling->item_prev_sibling = item;
- suffix_item->item_next_sibling = item;
+ suffix_item->item_next_sibling = item;
- item->item_prev_sibling = suffix_item;
+ item->item_prev_sibling = suffix_item;
}
void
-mokodesktop_items_append_to_folder ( MokoDesktopItem *item_folder,
- MokoDesktopItem *item )
+mokodesktop_items_append_to_folder(MokoDesktopItem * item_folder,
+ MokoDesktopItem * item)
{
- if (!item_folder->item_child)
- {
- item_folder->item_child = item;
- item_folder->item_child->item_parent = item_folder;
- return;
- }
-
-
- mokodesktop_items_append (item_folder->item_child, item);
+ if (!item_folder->item_child) {
+ item_folder->item_child = item;
+ item_folder->item_child->item_parent = item_folder;
+ return;
+ }
+ mokodesktop_items_append(item_folder->item_child, item);
+
}
void
-mokodesktop_items_append_to_top_level ( MokoDesktopItem *top_head_item,
- MokoDesktopItem *item )
+mokodesktop_items_append_to_top_level(MokoDesktopItem * top_head_item,
+ MokoDesktopItem * item)
{
- MokoDesktopItem *top_level = top_head_item;
+ MokoDesktopItem *top_level = top_head_item;
- item->item_parent = top_level;
+ item->item_parent = top_level;
- if (top_level->item_child == NULL)
- top_level->item_child = item;
- else
- mokodesktop_items_append (top_level->item_child, item);
+ if (top_level->item_child == NULL)
+ top_level->item_child = item;
+ else
+ mokodesktop_items_append(top_level->item_child, item);
}
void
-mokodesktop_items_prepend ( MokoDesktopItem **item_head,
- MokoDesktopItem *item )
+mokodesktop_items_prepend(MokoDesktopItem ** item_head, MokoDesktopItem * item)
{
- MokoDesktopItem *item_tmp = NULL;
+ MokoDesktopItem *item_tmp = NULL;
- item_tmp = *item_head;
- item->item_next_sibling = item_tmp;
- item_tmp->item_prev_sibling = item;
+ item_tmp = *item_head;
+ item->item_next_sibling = item_tmp;
+ item_tmp->item_prev_sibling = item;
- *item_head = item;
+ *item_head = item;
}
-MokoDesktopItem *
-mokodesktop_item_get_next_sibling(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_next_sibling(MokoDesktopItem * item)
{
- return item->item_next_sibling;
+ return item->item_next_sibling;
}
-MokoDesktopItem *
-mokodesktop_item_get_prev_sibling(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_prev_sibling(MokoDesktopItem * item)
{
- return item->item_prev_sibling;
+ return item->item_prev_sibling;
}
-MokoDesktopItem *
-mokodesktop_item_get_parent(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_parent(MokoDesktopItem * item)
{
- MokoDesktopItem *result = mokodesktop_item_get_first_sibling(item);
+ MokoDesktopItem *result = mokodesktop_item_get_first_sibling(item);
- if (result && result->item_parent)
- return result->item_parent;
+ if (result && result->item_parent)
+ return result->item_parent;
- return NULL;
+ return NULL;
}
-MokoDesktopItem *
-mokodesktop_item_get_child(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_child(MokoDesktopItem * item)
{
- return item->item_child;
+ return item->item_child;
}
-
-MokoDesktopItem *
-mokodesktop_item_get_first_sibling(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_first_sibling(MokoDesktopItem * item)
{
- while (item->item_prev_sibling != NULL )
- item = item->item_prev_sibling;
- return item;
+ while (item->item_prev_sibling != NULL)
+ item = item->item_prev_sibling;
+ return item;
}
-MokoDesktopItem *
-mokodesktop_item_get_last_sibling(MokoDesktopItem *item)
+MokoDesktopItem *mokodesktop_item_get_last_sibling(MokoDesktopItem * item)
{
- while (item->item_next_sibling != NULL )
- item = item->item_next_sibling;
- return item;
+ while (item->item_next_sibling != NULL)
+ item = item->item_next_sibling;
+ return item;
}
-
-
-void
-mokodesktop_item_set_name ( MokoDesktopItem *item,
- char *name)
+void mokodesktop_item_set_name(MokoDesktopItem * item, char *name)
{
- if (item->name) free(item->name);
- item->name = strdup(name);
+ if (item->name)
+ free(item->name);
+ item->name = strdup(name);
}
-char *
-mokodesktop_item_get_name (MokoDesktopItem *item)
+char *mokodesktop_item_get_name(MokoDesktopItem * item)
{
- return item->name;
+ return item->name;
}
-void
-mokodesktop_item_set_comment ( MokoDesktopItem *item,
- char *comment)
+void mokodesktop_item_set_comment(MokoDesktopItem * item, char *comment)
{
- if (item->comment) free(item->comment);
- item->comment = strdup(comment);
+ if (item->comment)
+ free(item->comment);
+ item->comment = strdup(comment);
}
-char *
-mokodesktop_item_get_comment (MokoDesktopItem *item)
+char *mokodesktop_item_get_comment(MokoDesktopItem * item)
{
- return item->comment;
+ return item->comment;
}
-
-void
-mokodesktop_item_set_extended_name ( MokoDesktopItem *item,
- char *name)
+void mokodesktop_item_set_extended_name(MokoDesktopItem * item, char *name)
{
- if (item->name_extended) free(item->name_extended);
- item->name_extended = strdup(name);
+ if (item->name_extended)
+ free(item->name_extended);
+ item->name_extended = strdup(name);
}
-char *
-mokodesktop_item_get_extended_name (MokoDesktopItem *item)
+char *mokodesktop_item_get_extended_name(MokoDesktopItem * item)
{
- return item->name_extended;
+ return item->name_extended;
}
-void
-mokodesktop_item_set_user_data ( MokoDesktopItem *item,
- void *data)
+void mokodesktop_item_set_user_data(MokoDesktopItem * item, void *data)
{
- if (item->data) free(item->data);
- item->data = data;
+ if (item->data)
+ free(item->data);
+ item->data = data;
}
-void *
-mokodesktop_item_get_user_data (MokoDesktopItem *item)
+void *mokodesktop_item_get_user_data(MokoDesktopItem * item)
{
- return item->data;
+ return item->data;
}
void
-mokodesktop_item_set_activate_callback (MokoDesktopItem *item,
- MokoDesktopCB activate_cb)
+mokodesktop_item_set_activate_callback(MokoDesktopItem * item,
+ MokoDesktopCB activate_cb)
{
- item->activate_cb = activate_cb;
+ item->activate_cb = activate_cb;
}
-void
-mokodesktop_item_set_type (MokoDesktopItem *item,
- int type)
+void mokodesktop_item_set_type(MokoDesktopItem * item, int type)
{
- item->subtype = type;
+ item->subtype = type;
}
-int
-mokodesktop_item_get_type (MokoDesktopItem *item)
+int mokodesktop_item_get_type(MokoDesktopItem * item)
{
- return item->subtype;
+ return item->subtype;
}
-void
-mokodesktop_item_folder_activate_cb(void *data1, void *data2)
+void mokodesktop_item_folder_activate_cb(void *data1, void *data2)
{
- MokoDesktopItem *top_head_item = (MokoDesktopItem *)data1;
- MokoDesktopItem *item = (MokoDesktopItem *)data2;
+ MokoDesktopItem *top_head_item = (MokoDesktopItem *) data1;
+ MokoDesktopItem *item = (MokoDesktopItem *) data2;
}
-void
-mbdesktop_item_folder_prev_activate_cb(void *data1, void *data2)
+void mbdesktop_item_folder_prev_activate_cb(void *data1, void *data2)
{
- MokoDesktopItem *top_head_item = (MokoDesktopItem *)data1;
- MokoDesktopItem *item = (MokoDesktopItem *)data2;
+ MokoDesktopItem *top_head_item = (MokoDesktopItem *) data1;
+ MokoDesktopItem *item = (MokoDesktopItem *) data2;
}
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.h
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.h 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop_item.h 2007-06-02 12:11:46 UTC (rev 2129)
@@ -1,3 +1,24 @@
+/**
+ * @file mokodesktop_item.h
+ * @brief The Main Menu in the Openmoko
+ *
+ * Authored by Sun Zhiyong <sunzhiyong at fic-sh.com.cn>
+ *
+ * Copyright (C) 2006-2007 OpenMoko 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 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 _HAVE_MOKODESKTOP_ITEM_H
#define _HAVE_MOKODESKTOP_ITEM_H
@@ -3,10 +24,9 @@
#include "mokodesktop.h"
+#define mokodesktop_items_enumerate_siblings(item_head, item) \
+ for ( (item) = (item_head); \
+ (item) != NULL; \
+ (item) = (item)->item_next_sibling )
-#define mokodesktop_items_enumerate_siblings(item_head, item) \
- for ( (item) = (item_head); \
- (item) != NULL; \
- (item) = (item)->item_next_sibling )
-
/**
* Constructs a new blank mbpixbuf image without an alpha channel.
@@ -22,103 +42,72 @@
* @param mokodesktop
* @param item
*/
-void
-mokodesktop_item_free(MokoDesktopItem *item);
+void mokodesktop_item_free(MokoDesktopItem * item);
-Bool
-mokodesktop_item_folder_has_contents(MokoDesktopItem *folder);
+Bool mokodesktop_item_folder_has_contents(MokoDesktopItem * folder);
void
-mokodesktop_item_folder_contents_free( MokoDesktopItem *top_head_item,
- MokoDesktopItem *item);
+mokodesktop_item_folder_contents_free(MokoDesktopItem * top_head_item,
+ MokoDesktopItem * item);
+MokoDesktopItem *mokodesktop_item_new_with_params(const char *name,
+ const char *icon_name,
+ void *data, int type);
-MokoDesktopItem *
-mokodesktop_item_new_with_params ( const char *name,
- const char *icon_name,
- void *data,
- int type);
-
void
-mokodesktop_items_append ( MokoDesktopItem *item_head,
- MokoDesktopItem *item );
+mokodesktop_items_append(MokoDesktopItem * item_head, MokoDesktopItem * item);
void
-mokodesktop_items_insert_after ( MokoDesktopItem *suffix_item,
- MokoDesktopItem *item );
+mokodesktop_items_insert_after(MokoDesktopItem * suffix_item,
+ MokoDesktopItem * item);
void
-mokodesktop_items_append_to_folder ( MokoDesktopItem *item_folder,
- MokoDesktopItem *item );
+mokodesktop_items_append_to_folder(MokoDesktopItem * item_folder,
+ MokoDesktopItem * item);
void
-mokodesktop_items_append_to_top_level ( MokoDesktopItem *top_head_item,
- MokoDesktopItem *item );
+mokodesktop_items_append_to_top_level(MokoDesktopItem * top_head_item,
+ MokoDesktopItem * item);
void
-mokodesktop_items_prepend ( MokoDesktopItem **item_head,
- MokoDesktopItem *item );
+mokodesktop_items_prepend(MokoDesktopItem ** item_head, MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_next_sibling(MokoDesktopItem *item) ;
+MokoDesktopItem *mokodesktop_item_get_next_sibling(MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_prev_sibling(MokoDesktopItem *item);
+MokoDesktopItem *mokodesktop_item_get_prev_sibling(MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_parent(MokoDesktopItem *item);
+MokoDesktopItem *mokodesktop_item_get_parent(MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_child(MokoDesktopItem *item);
+MokoDesktopItem *mokodesktop_item_get_child(MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_first_sibling(MokoDesktopItem *item);
+MokoDesktopItem *mokodesktop_item_get_first_sibling(MokoDesktopItem * item);
-MokoDesktopItem *
-mokodesktop_item_get_last_sibling(MokoDesktopItem *item);
+MokoDesktopItem *mokodesktop_item_get_last_sibling(MokoDesktopItem * item);
-void
-mokodesktop_item_set_name ( MokoDesktopItem *item,
- char *name);
+void mokodesktop_item_set_name(MokoDesktopItem * item, char *name);
-char *
-mokodesktop_item_get_name (MokoDesktopItem *item);
+char *mokodesktop_item_get_name(MokoDesktopItem * item);
-void
-mokodesktop_item_set_comment ( MokoDesktopItem *item,
- char *comment);
+void mokodesktop_item_set_comment(MokoDesktopItem * item, char *comment);
-char *
-mokodesktop_item_get_comment (MokoDesktopItem *item);
+char *mokodesktop_item_get_comment(MokoDesktopItem * item);
-void
-mokodesktop_item_set_extended_name ( MokoDesktopItem *item,
- char *name);
+void mokodesktop_item_set_extended_name(MokoDesktopItem * item, char *name);
-char *
-mokodesktop_item_get_extended_name (MokoDesktopItem *item);
+char *mokodesktop_item_get_extended_name(MokoDesktopItem * item);
+void mokodesktop_item_set_user_data(MokoDesktopItem * item, void *data);
+void *mokodesktop_item_get_user_data(MokoDesktopItem * item);
-void
-mokodesktop_item_set_user_data ( MokoDesktopItem *item,
- void *data);
-void *
-mokodesktop_item_get_user_data (MokoDesktopItem *item);
+void mokodesktop_item_set_type(MokoDesktopItem * item, int type);
-void
-mokodesktop_item_set_type (MokoDesktopItem *item,
- int type);
+int mokodesktop_item_get_type(MokoDesktopItem * item);
-int
-mokodesktop_item_get_type (MokoDesktopItem *item);
-
void
-mokodesktop_item_set_activate_callback (MokoDesktopItem *item,
- MokoDesktopCB activate_cb);
+mokodesktop_item_set_activate_callback(MokoDesktopItem * item,
+ MokoDesktopCB activate_cb);
-void
-mokodesktop_item_folder_activate_cb(void *data1, void *data2);
+void mokodesktop_item_folder_activate_cb(void *data1, void *data2);
-void
-mbdesktop_item_folder_prev_activate_cb(void *data1, void *data2);
+void mbdesktop_item_folder_prev_activate_cb(void *data1, void *data2);
#endif
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/openmoko-panel-mainmenu.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/openmoko-panel-mainmenu.c 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/openmoko-panel-mainmenu.c 2007-06-02 12:11:46 UTC (rev 2129)
@@ -34,61 +34,64 @@
static GtkWidget *sm = NULL;
-static void click( MokoPanelApplet* applet )
+static void click(MokoPanelApplet * applet)
{
- g_debug ("mainmenu click callback");
- if (sm)
- gtk_menu_popup (sm, NULL, NULL,
- (GtkMenuPositionFunc)moko_menu_position_cb,
- GTK_WIDGET(applet), 0, gtk_get_current_event_time());
- else g_debug ("no stylus menu objcet");
+ g_debug("mainmenu click callback");
+ if (sm)
+ gtk_menu_popup(sm, NULL, NULL,
+ (GtkMenuPositionFunc) moko_menu_position_cb,
+ GTK_WIDGET(applet), 0,
+ gtk_get_current_event_time());
+ else
+ g_debug("no stylus menu objcet");
}
-static void tap_hold( MokoPanelApplet* applet )
+static void tap_hold(MokoPanelApplet * applet)
{
- g_debug ("tap hold event callback");
- GtkWidget* widget = GTK_WIDGET(applet);
- Screen* screen = GDK_SCREEN_XSCREEN(gtk_widget_get_screen (widget));
- XEvent xev;
+ g_debug("tap hold event callback");
+ GtkWidget *widget = GTK_WIDGET(applet);
+ Screen *screen = GDK_SCREEN_XSCREEN(gtk_widget_get_screen(widget));
+ XEvent xev;
- xev.xclient.type = ClientMessage;
- xev.xclient.serial = 0;
- xev.xclient.send_event = True;
- xev.xclient.display = DisplayOfScreen (screen);
- xev.xclient.window = RootWindowOfScreen (screen);
- xev.xclient.message_type = gdk_x11_get_xatom_by_name( "_NET_SHOWING_DESKTOP" );
- xev.xclient.format = 32;
- //TODO add support for toggle!?
- xev.xclient.data.l[0] = TRUE;
- xev.xclient.data.l[1] = 0;
- xev.xclient.data.l[2] = 0;
- xev.xclient.data.l[3] = 0;
- xev.xclient.data.l[4] = 0;
+ xev.xclient.type = ClientMessage;
+ xev.xclient.serial = 0;
+ xev.xclient.send_event = True;
+ xev.xclient.display = DisplayOfScreen(screen);
+ xev.xclient.window = RootWindowOfScreen(screen);
+ xev.xclient.message_type =
+ gdk_x11_get_xatom_by_name("_NET_SHOWING_DESKTOP");
+ xev.xclient.format = 32;
+ //TODO add support for toggle!?
+ xev.xclient.data.l[0] = TRUE;
+ xev.xclient.data.l[1] = 0;
+ xev.xclient.data.l[2] = 0;
+ xev.xclient.data.l[3] = 0;
+ xev.xclient.data.l[4] = 0;
- XSendEvent (DisplayOfScreen (screen), RootWindowOfScreen (screen), False,
- SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ XSendEvent(DisplayOfScreen(screen), RootWindowOfScreen(screen), False,
+ SubstructureRedirectMask | SubstructureNotifyMask, &xev);
}
-G_MODULE_EXPORT GtkWidget* mb_panel_applet_create(const char* id, GtkOrientation orientation)
+G_MODULE_EXPORT GtkWidget *mb_panel_applet_create(const char *id,
+ GtkOrientation orientation)
{
- g_debug( "openmoko-panel-mainmenu new" );
+ g_debug("openmoko-panel-mainmenu new");
- MokoPanelApplet* applet = moko_panel_applet_new();
- g_debug( "applet is %p", applet );
- moko_panel_applet_set_icon( applet, PKGDATADIR "/btn_menu.png", TRUE );
- g_signal_connect( applet, "clicked", G_CALLBACK( click ), applet );
- g_signal_connect( applet, "tap-hold", G_CALLBACK( tap_hold ), applet );
- gtk_widget_show_all( GTK_WIDGET(applet) );
- sm = gtk_menu_new ();
- gtk_widget_show (sm);
+ MokoPanelApplet *applet = moko_panel_applet_new();
+ g_debug("applet is %p", applet);
+ moko_panel_applet_set_icon(applet, PKGDATADIR "/btn_menu.png", TRUE);
+ g_signal_connect(applet, "clicked", G_CALLBACK(click), applet);
+ g_signal_connect(applet, "tap-hold", G_CALLBACK(tap_hold), applet);
+ gtk_widget_show_all(GTK_WIDGET(applet));
+ sm = gtk_menu_new();
+ gtk_widget_show(sm);
- MokoDesktopItem *top_item = mokodesktop_item_new_with_params ("Home", NULL, NULL, ITEM_TYPE_ROOT );
- int ret = mokodesktop_init(top_item, ITEM_TYPE_CNT);
- moko_stylus_menu_build(GTK_MENU(sm), top_item);
- panel_mainmenu_install_watcher();
+ MokoDesktopItem *top_item =
+ mokodesktop_item_new_with_params("Home", NULL, NULL,
+ ITEM_TYPE_ROOT);
+ int ret = mokodesktop_init(top_item, ITEM_TYPE_CNT);
+ moko_stylus_menu_build(GTK_MENU(sm), top_item);
+ panel_mainmenu_install_watcher();
- return GTK_WIDGET(applet);
+ return GTK_WIDGET(applet);
}
-
-
-
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.c 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.c 2007-06-02 12:11:46 UTC (rev 2129)
@@ -20,134 +20,156 @@
#include "stylusmenu.h"
//#include "callbacks.h"
-static GtkImageMenuItem *moko_build_new_menu_item (const char *icon_name, const char *icon_path);
-static void moko_stylus_menu_activate_item(GtkWidget* widget, void *user_data);
+static GtkImageMenuItem *moko_build_new_menu_item(const char *icon_name,
+ const char *icon_path);
+static void moko_stylus_menu_activate_item(GtkWidget * widget, void *user_data);
-void
-moko_stylus_menu_build (GtkMenu *menu, MokoDesktopItem *item)
+void moko_stylus_menu_build(GtkMenu * menu, MokoDesktopItem * item)
{
- //GtkMenu *sub_menu;
- GtkImageMenuItem *menu_item;
+ //GtkMenu *sub_menu;
+ GtkImageMenuItem *menu_item;
- MokoDesktopItem *item_new;
-g_debug ("menu build-------------------------V");
- mokodesktop_items_enumerate_siblings(item->item_child, item_new)
- {
+ MokoDesktopItem *item_new;
+ g_debug("menu build-------------------------V");
+ mokodesktop_items_enumerate_siblings(item->item_child, item_new) {
- if (access (item_new->icon_name, 0) == 0)
- {
- g_debug ("item patch %s", item_new->icon_name);
- menu_item = moko_build_new_menu_item (item_new->name, item_new->icon_name);
- }
- else
- {
- char path[PATH_MAX];
- snprintf (path, PATH_MAX, "%s/%s", PIXMAP_PATH, item_new->icon_name);
- if (access (path, 0) == 0)
- menu_item = moko_build_new_menu_item (item_new->name, path);
- else
- {
- snprintf (path, PATH_MAX, "%s/%s", PKGDATADIR, "default-app-icon.xpm");
- menu_item = moko_build_new_menu_item (item_new->name, path);
- //moko_fill_model(self->list_store, path, item_new->name, item_new);
- }
- }
- gtk_menu_shell_append( GTK_MENU_SHELL(menu), GTK_WIDGET(menu_item));
- gtk_widget_show (GTK_WIDGET(menu_item));
- switch (item_new->type) {
- case ITEM_TYPE_FOLDER:
- {
- MokoDesktopItem *tmp_item;
- GtkWidget *sub_menu;
- sub_menu = gtk_menu_new();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM(menu_item), GTK_WIDGET(sub_menu));
- mokodesktop_items_enumerate_siblings(item_new->item_child, tmp_item)
- {
- if (access (tmp_item->icon_name, 0) == 0)
- {
- menu_item = moko_build_new_menu_item (tmp_item->name, tmp_item->icon_name);
- }
- else
- {
- char path[PATH_MAX];
- snprintf (path, PATH_MAX, "%s/%s", PIXMAP_PATH, tmp_item->icon_name);
- if (access (path, 0) == 0)
- menu_item = moko_build_new_menu_item (tmp_item->name, path);
- else
- {
- snprintf (path, PATH_MAX, "%s/%s", PKGDATADIR, "default-app-icon.xpm");
- menu_item = moko_build_new_menu_item (tmp_item->name, path);
- //moko_fill_model(self->list_store, path, item_new->name, item_new);
- }
- }
+ if (access(item_new->icon_name, 0) == 0) {
+ g_debug("item patch %s", item_new->icon_name);
+ menu_item =
+ moko_build_new_menu_item(item_new->name,
+ item_new->icon_name);
+ } else {
+ char path[PATH_MAX];
+ snprintf(path, PATH_MAX, "%s/%s", PIXMAP_PATH,
+ item_new->icon_name);
+ if (access(path, 0) == 0)
+ menu_item =
+ moko_build_new_menu_item(item_new->name,
+ path);
+ else {
+ snprintf(path, PATH_MAX, "%s/%s", PKGDATADIR,
+ "default-app-icon.xpm");
+ menu_item =
+ moko_build_new_menu_item(item_new->name,
+ path);
+ //moko_fill_model(self->list_store, path, item_new->name, item_new);
+ }
+ }
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu),
+ GTK_WIDGET(menu_item));
+ gtk_widget_show(GTK_WIDGET(menu_item));
+ switch (item_new->type) {
+ case ITEM_TYPE_FOLDER:
+ {
+ MokoDesktopItem *tmp_item;
+ GtkWidget *sub_menu;
+ sub_menu = gtk_menu_new();
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM
+ (menu_item),
+ GTK_WIDGET(sub_menu));
+ mokodesktop_items_enumerate_siblings(item_new->
+ item_child,
+ tmp_item) {
+ if (access(tmp_item->icon_name, 0) == 0) {
+ menu_item =
+ moko_build_new_menu_item
+ (tmp_item->name,
+ tmp_item->icon_name);
+ } else {
+ char path[PATH_MAX];
+ snprintf(path, PATH_MAX,
+ "%s/%s", PIXMAP_PATH,
+ tmp_item->icon_name);
+ if (access(path, 0) == 0)
+ menu_item =
+ moko_build_new_menu_item
+ (tmp_item->name,
+ path);
+ else {
+ snprintf(path, PATH_MAX,
+ "%s/%s",
+ PKGDATADIR,
+ "default-app-icon.xpm");
+ menu_item =
+ moko_build_new_menu_item
+ (tmp_item->name,
+ path);
+ //moko_fill_model(self->list_store, path, item_new->name, item_new);
+ }
+ }
- if (tmp_item->type == ITEM_TYPE_DOTDESKTOP_ITEM ||
- tmp_item->type == ITEM_TYPE_APP )
- g_signal_connect(menu_item, "activate" ,
- G_CALLBACK(moko_stylus_menu_activate_item),
- tmp_item);
- gtk_menu_shell_append( GTK_MENU_SHELL(sub_menu), GTK_WIDGET(menu_item) );
- gtk_widget_show (GTK_WIDGET(menu_item));
- }
- }
- break;
- case ITEM_TYPE_DOTDESKTOP_ITEM:
- case ITEM_TYPE_APP:
- g_signal_connect (menu_item, "activate",
- G_CALLBACK(moko_stylus_menu_activate_item),
- item_new);
- break;
- } /* case */
+ if (tmp_item->type ==
+ ITEM_TYPE_DOTDESKTOP_ITEM
+ || tmp_item->type == ITEM_TYPE_APP)
+ g_signal_connect(menu_item,
+ "activate",
+ G_CALLBACK
+ (moko_stylus_menu_activate_item),
+ tmp_item);
+ gtk_menu_shell_append(GTK_MENU_SHELL
+ (sub_menu),
+ GTK_WIDGET
+ (menu_item));
+ gtk_widget_show(GTK_WIDGET(menu_item));
+ }
+ }
+ break;
+ case ITEM_TYPE_DOTDESKTOP_ITEM:
+ case ITEM_TYPE_APP:
+ g_signal_connect(menu_item, "activate",
+ G_CALLBACK
+ (moko_stylus_menu_activate_item),
+ item_new);
+ break;
+ } /* case */
- } /* enumerate */
+ } /* enumerate */
- return ;
+ return;
}
-
-static GtkImageMenuItem *
-moko_build_new_menu_item(const char *name, const char *path)
+static GtkImageMenuItem *moko_build_new_menu_item(const char *name,
+ const char *path)
{
- GdkPixbuf *pixbuf;
- GtkWidget *image;
- GtkWidget *item;
+ GdkPixbuf *pixbuf;
+ GtkWidget *image;
+ GtkWidget *item;
- pixbuf = gdk_pixbuf_new_from_file_at_size (path, 32, 32, NULL);
- if(!pixbuf) g_debug ("Can't get pixbuf");
- image = gtk_image_new_from_pixbuf (pixbuf);
+ pixbuf = gdk_pixbuf_new_from_file_at_size(path, 32, 32, NULL);
+ if (!pixbuf)
+ g_debug("Can't get pixbuf");
+ image = gtk_image_new_from_pixbuf(pixbuf);
- item = gtk_image_menu_item_new_with_label (name);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM(item), image);
- gtk_widget_show (GTK_WIDGET(item));
+ item = gtk_image_menu_item_new_with_label(name);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ gtk_widget_show(GTK_WIDGET(item));
- return GTK_IMAGE_MENU_ITEM(item);
+ return GTK_IMAGE_MENU_ITEM(item);
}
-static void moko_stylus_menu_activate_item(GtkWidget* widget,
- void *user_data)
+static void moko_stylus_menu_activate_item(GtkWidget * widget, void *user_data)
{
- MokoDesktopItem *ditem = user_data;
- g_debug( "item activated: %s", ditem->data );
- switch (fork())
- {
- case 0:
- mb_exec((char *)ditem->data);
- fprintf(stderr, "exec failed, cleaning up child\n");
- exit(1);
- case -1:
- fprintf(stderr, "can't fork\n");
- break;
- }
+ MokoDesktopItem *ditem = user_data;
+ g_debug("item activated: %s", ditem->data);
+ switch (fork()) {
+ case 0:
+ mb_exec((char *)ditem->data);
+ fprintf(stderr, "exec failed, cleaning up child\n");
+ exit(1);
+ case -1:
+ fprintf(stderr, "can't fork\n");
+ break;
+ }
}
void
-moko_menu_position_cb (GtkMenu *menu, int *x, int *y, gboolean *push_in, GtkWidget *data)
+moko_menu_position_cb(GtkMenu * menu, int *x, int *y, gboolean * push_in,
+ GtkWidget * data)
{
- GtkAllocation* allocation = >K_WIDGET(data)->allocation;
+ GtkAllocation *allocation = >K_WIDGET(data)->allocation;
- *x = allocation->x;
- *y = allocation->y + allocation->height;
+ *x = allocation->x;
+ *y = allocation->y + allocation->height;
- *push_in = TRUE;
+ *push_in = TRUE;
}
-
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.h
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.h 2007-06-02 11:49:58 UTC (rev 2128)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/stylusmenu.h 2007-06-02 12:11:46 UTC (rev 2129)
@@ -5,34 +5,33 @@
//#include "mokodesktop.h"
G_BEGIN_DECLS
-
#define STYLUSMENU_TYPE (moko_stylus_menu_get_type())
#define STYLUSMENU(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), STYLUSMENU_TYPE, MokoStylusMenu))
#define STYLUSMENUCALSS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), STYLUSMENU_TYPE, MokoStylusMenuClass))
#define IS_STYLUSMENU(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), STYLUSMENU_TYPE))
#define IS_STYLUSMENUCALSS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), STYLUSMENU_TYPE))
+typedef struct _MokoStylusMenu MokoStylusMenu;
+typedef struct _MokoStylusMenuPrivate MokoStylusMenuPrivate;
+typedef struct _MokoStylusMenuClass MokoStylusMenuClass;
-typedef struct _MokoStylusMenu MokoStylusMenu;
-typedef struct _MokoStylusMenuPrivate MokoStylusMenuPrivate;
-typedef struct _MokoStylusMenuClass MokoStylusMenuClass;
+struct _MokoStylusMenu {
+ GtkMenu parent;
-struct _MokoStylusMenu{
- GtkMenu parent;
-
- // MokoStylusMenuPrivate *priv;
+ // MokoStylusMenuPrivate *priv;
};
-struct _MokoStylusMenuClass{
- GtkMenuShell parent_class;
+struct _MokoStylusMenuClass {
+ GtkMenuShell parent_class;
};
GType moko_stylus_menu_get_type(void);
-MokoStylusMenu *moko_stylus_menu_new ();
+MokoStylusMenu *moko_stylus_menu_new();
//void moko_stylus_menu_build (GtkMenu *menu, MokoDesktopItem *item);
-void moko_menu_position_cb (GtkMenu *menu, int *x, int *y, gboolean *push_in, GtkWidget *data);
-
+void moko_menu_position_cb(GtkMenu * menu, int *x, int *y, gboolean * push_in,
+ GtkWidget * data);
+
G_END_DECLS
#endif /*_MOKO_STYLUS_MAIN_MENU_H*/
More information about the commitlog
mailing list