Get rid of the theming work I did before... This is better but still needs work on allowing the theme to define custom widgets.
This commit is contained in:
@ -40,6 +40,7 @@ struct _Ecdb_Main
|
||||
Eina_List *ewl_dnd_candidates;
|
||||
Evas_Object *evas_drop_object;
|
||||
Ewl_Widget *ewl_drop_object;
|
||||
double scalef;
|
||||
};
|
||||
|
||||
extern Ecdb_Main *em;
|
||||
|
@ -1,15 +1,8 @@
|
||||
/* 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 _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,
|
||||
static void ecdb_cb_welcome_page_buttons_clicked(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);
|
||||
@ -190,7 +183,6 @@ ecdb_create_main_gui(void)
|
||||
Evas_Object *gui;
|
||||
Evas_Coord mw, mh;
|
||||
const char *scale, *engine;
|
||||
float scalef;
|
||||
|
||||
engine = getenv("ECDB_ENGINE");
|
||||
if (engine)
|
||||
@ -203,7 +195,9 @@ ecdb_create_main_gui(void)
|
||||
em->main_win_ee = ecore_evas_software_x11_new(0, 0, 0, 0, 255, 255);
|
||||
}
|
||||
else
|
||||
{
|
||||
em->main_win_ee = ecore_evas_software_x11_new(0, 0, 0, 0, 255, 255);
|
||||
}
|
||||
|
||||
if (!em->main_win_ee)
|
||||
{
|
||||
@ -232,16 +226,16 @@ ecdb_create_main_gui(void)
|
||||
/* Make this configurable at some point */
|
||||
ecdb_set_main_theme(NULL);
|
||||
scale = getenv("ECDB_SCALE");
|
||||
scalef = (scale) ? atof(scale) : 1.0;
|
||||
edje_scale_set(scalef);
|
||||
em->scalef = (scale) ? atof(scale) : 1.0;
|
||||
edje_scale_set(em->scalef);
|
||||
|
||||
gui = edje_object_add(ecore_evas_get(em->main_win_ee));
|
||||
edje_object_file_set(gui, em->theme_path, "ecdb/window");
|
||||
edje_object_size_min_get(gui, &mw, &mh);
|
||||
if (mw <= 0) mw = 400;
|
||||
if (mh <= 0) mh = 300;
|
||||
mw = (int)((float)mw * scalef);
|
||||
mh = (int)((float)mh * scalef);
|
||||
mw = (int)((float)mw * em->scalef);
|
||||
mh = (int)((float)mh * em->scalef);
|
||||
evas_object_resize(gui, mw, mh);
|
||||
ecore_evas_resize(em->main_win_ee, mw, mh);
|
||||
ecore_evas_size_min_set(em->main_win_ee, mw, mh);
|
||||
@ -361,41 +355,45 @@ 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
|
||||
_button_cb_erase(void *data __UNUSED__, Evas_Object *o,
|
||||
const char *emission __UNUSED__,
|
||||
const char *source __UNUSED__)
|
||||
ecdb_cb_welcome_page_buttons_clicked(void *data, Evas_Object *o,
|
||||
const char *emission, const char *source)
|
||||
{
|
||||
edje_object_signal_emit(o, "ecdb,welcome_page,hide", "ecdb");
|
||||
ecdb_erase_page_show();
|
||||
}
|
||||
Evas_Object *swallow, *gui;
|
||||
|
||||
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();
|
||||
}
|
||||
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");
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -411,6 +409,7 @@ 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));
|
||||
@ -420,24 +419,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);
|
||||
|
||||
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);
|
||||
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]);
|
||||
}
|
||||
}
|
||||
|
||||
else if (edje_object_part_swallow_get(gui, "action_area") != swallow)
|
||||
|
Reference in New Issue
Block a user