And more moving the buttons into the theme.

This commit is contained in:
Jaime Thomas
2009-01-25 06:11:02 +00:00
parent 351d3126ff
commit 1b1abb1fff
10 changed files with 75 additions and 287 deletions

View File

@ -1,8 +1,15 @@
/* vim: set sw=3 ts=3 sts=3 expandtab: */
#include "ecdb.h"
#include <fnmatch.h>
static void ecdb_handle_typebuf(Evas_Object *gui);
static void ecdb_cb_welcome_page_buttons_clicked(void *data, Evas_Object *o,
static void _button_cb_burn_data(void *data, Evas_Object *o,
const char *emission, const char *source);
static void _button_cb_burn_audio(void *data, Evas_Object *o,
const char *emission, const char *source);
static void _button_cb_burn_image(void *data, Evas_Object *o,
const char *emission, const char *source);
static void _button_cb_erase(void *data, Evas_Object *o,
const char *emission, const char *source);
static void ecdb_filelist_show(void);
static void ecdb_page_hide(const char *pname);
@ -354,45 +361,41 @@ ecdb_handle_typebuf(Evas_Object *gui)
edje_object_part_text_set(gui, "filelist_overlay_text", NULL);
}
static void
_button_cb_burn_data(void *data __UNUSED__, Evas_Object *o,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
edje_object_signal_emit(o, "ecdb,welcome_page,hide", "ecdb");
ecdb_burn_data_page_show();
ecdb_filelist_show();
}
static void
ecdb_cb_welcome_page_buttons_clicked(void *data, Evas_Object *o,
const char *emission, const char *source)
_button_cb_erase(void *data __UNUSED__, Evas_Object *o,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
Evas_Object *swallow, *gui;
edje_object_signal_emit(o, "ecdb,welcome_page,hide", "ecdb");
ecdb_erase_page_show();
}
gui = evas_object_name_find(ecore_evas_get(em->main_win_ee), "gui");
swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee),
"main_filelist");
static void
_button_cb_burn_image(void *data __UNUSED__, Evas_Object *o,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
edje_object_signal_emit(o, "ecdb,welcome_page,hide", "ecdb");
ecdb_burn_image_page_show();
ecdb_filelist_show();
}
if (!strcmp(source, "ecdb/burn_data"))
{
swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee),
"welcome_page");
edje_object_signal_emit(swallow, "ecdb,welcome_page,hide", "ecdb");
ecdb_burn_data_page_show();
ecdb_filelist_show();
}
else if (!strcmp(source, "ecdb/erase"))
{
swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee),
"welcome_page");
edje_object_signal_emit(swallow, "ecdb,welcome_page,hide", "ecdb");
ecdb_erase_page_show();
}
else if (!strcmp(source, "ecdb/burn_image"))
{
ecdb_filelist_show();
swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee),
"welcome_page");
edje_object_signal_emit(swallow, "ecdb,welcome_page,hide", "ecdb");
ecdb_burn_image_page_show();
}
else if (swallow)
{
edje_object_signal_emit(gui, "ecdb,filelist,hide", "ecdb");
}
static void
_button_cb_burn_audio(void *data __UNUSED__, Evas_Object *o,
const char *emission __UNUSED__,
const char *source)
{
printf("Action: %s\n", source);
}
@ -408,7 +411,6 @@ ecdb_welcome_page_show(void)
if (!swallow)
{
Evas_Object *b;
Evas_Coord x, y, w, h;
swallow = edje_object_add(ecore_evas_get(em->main_win_ee));
@ -418,24 +420,24 @@ ecdb_welcome_page_show(void)
evas_object_move(swallow, x, y);
evas_object_resize(swallow, w, h);
edje_object_part_swallow(gui, "action_area", swallow);
edje_object_signal_callback_add(swallow, "mouse,clicked,1", "ecdb/*",
ecdb_cb_welcome_page_buttons_clicked, NULL);
edje_object_signal_callback_add(swallow, "hide,finished", "welcome_page",
ecdb_page_hide_finished, NULL);
evas_object_show(swallow);
int i;
char *labels[] = {"Burn Data CD", "Burn Audio CD", "Burn Image",
"Erase Re-writable Disc"};
char *ids[] = {"ecdb/burn_data", "ecdb/burn_audio", "ecdb/burn_image",
"ecdb/erase"};
for (i = 0; i < 4; i++)
{
b = ecdb_button_add(swallow, ids[i]);
ecdb_button_label_set(b, labels[i]);
evas_object_show(b);
ecdb_button_icon_set(b, ids[i]);
}
edje_object_part_text_set(swallow, "ecdb/burn_data/text", "Burn Data CD");
edje_object_signal_callback_add(swallow, "ecdb/burn_data,clicked", "*",
_button_cb_burn_data, NULL);
edje_object_part_text_set(swallow, "ecdb/burn_audio/text",
"Burn Audio CD");
edje_object_signal_callback_add(swallow, "ecdb/burn_audio,clicked", "*",
_button_cb_burn_audio, NULL);
edje_object_part_text_set(swallow, "ecdb/burn_image/text", "Burn Image");
edje_object_signal_callback_add(swallow, "ecdb/burn_image,clicked", "*",
_button_cb_burn_image, NULL);
edje_object_part_text_set(swallow, "ecdb/erase/text",
"Erase Re-writable Disc");
edje_object_signal_callback_add(swallow, "ecdb/erase,clicked", "*",
_button_cb_erase, NULL);
}
else if (edje_object_part_swallow_get(gui, "action_area") != swallow)