forked from enlightenment/enlightenment
parent
1a804fbd5b
commit
3a99c51598
|
@ -20,7 +20,9 @@ INCLUDES = -I. \
|
||||||
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
||||||
pkg_LTLIBRARIES = module.la
|
pkg_LTLIBRARIES = module.la
|
||||||
module_la_SOURCES = e_mod_main.c \
|
module_la_SOURCES = e_mod_main.c \
|
||||||
e_mod_main.h
|
e_mod_main.h \
|
||||||
|
e_mod_config.c \
|
||||||
|
e_mod_config.h
|
||||||
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
||||||
module_la_LDFLAGS = -module -avoid-version
|
module_la_LDFLAGS = -module -avoid-version
|
||||||
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||||
|
|
|
@ -0,0 +1,224 @@
|
||||||
|
#include "e.h"
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
typedef struct _cfdata CFData;
|
||||||
|
typedef struct _Cfg_File_Data Cfg_File_Data;
|
||||||
|
|
||||||
|
#define ICONSIZE_MICROSCOPIC 8
|
||||||
|
#define ICONSIZE_TINY 12
|
||||||
|
#define ICONSIZE_VERYSMALL 16
|
||||||
|
#define ICONSIZE_SMALL 24
|
||||||
|
#define ICONSIZE_MEDIUM 32
|
||||||
|
#define ICONSIZE_LARGE 40
|
||||||
|
#define ICONSIZE_VERYLARGE 48
|
||||||
|
#define ICONSIZE_EXTLARGE 56
|
||||||
|
#define ICONSIZE_HUGE 64
|
||||||
|
#define ICONSIZE_ENORMOUS 96
|
||||||
|
#define ICONSIZE_GIGANTIC 128
|
||||||
|
|
||||||
|
struct _cfdata
|
||||||
|
{
|
||||||
|
IBox *ibox;
|
||||||
|
|
||||||
|
/* Basic Config */
|
||||||
|
int method;
|
||||||
|
int icon_method;
|
||||||
|
|
||||||
|
int follower;
|
||||||
|
int width;
|
||||||
|
int iconsize;
|
||||||
|
|
||||||
|
/* Advanced Config */
|
||||||
|
double follow_speed;
|
||||||
|
double autoscroll_speed;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Cfg_File_Data
|
||||||
|
{
|
||||||
|
E_Config_Dialog *cfd;
|
||||||
|
char *file;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Protos */
|
||||||
|
static Evas_Object *_create_widgets(E_Config_Dialog *cfd, Evas *evas, Config *cfdata);
|
||||||
|
static void *_create_data(E_Config_Dialog *cfd);
|
||||||
|
static void _free_data(E_Config_Dialog *cfd, CFData *cfdata);
|
||||||
|
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata);
|
||||||
|
static int _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata);
|
||||||
|
static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata);
|
||||||
|
static int _advanced_apply_data(E_Config_Dialog *cfd, CFData *cfdata);
|
||||||
|
|
||||||
|
IBox *ib = NULL;
|
||||||
|
|
||||||
|
void e_int_config_ibox(E_Container *con, IBox *ibox)
|
||||||
|
{
|
||||||
|
E_Config_Dialog *cfd;
|
||||||
|
E_Config_Dialog_View v;
|
||||||
|
|
||||||
|
ib = ibox;
|
||||||
|
|
||||||
|
/* Dialog Methods */
|
||||||
|
v.create_cfdata = _create_data;
|
||||||
|
v.free_cfdata = _free_data;
|
||||||
|
v.basic.apply_cfdata = _basic_apply_data;
|
||||||
|
v.basic.create_widgets = _basic_create_widgets;
|
||||||
|
v.advanced.apply_cfdata = _advanced_apply_data;
|
||||||
|
v.advanced.create_widgets = _advanced_create_widgets;
|
||||||
|
|
||||||
|
/* Create The Dialog */
|
||||||
|
cfd = e_config_dialog_new(con, _("IBox Module"), NULL, 0, &v, ibox);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _fill_data(CFData *cfdata)
|
||||||
|
{
|
||||||
|
cfdata->follower = ib->conf->follower;
|
||||||
|
cfdata->width = ib->conf->width;
|
||||||
|
if (cfdata->width == IBOX_WIDTH_AUTO)
|
||||||
|
{
|
||||||
|
cfdata->method = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfdata->method = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
cfdata->iconsize = ib->conf->iconsize;
|
||||||
|
if (cfdata->iconsize <=24) cfdata->icon_method = ICONSIZE_SMALL;
|
||||||
|
if ((cfdata->iconsize > 24) && (cfdata->iconsize <=32)) cfdata->icon_method = ICONSIZE_MEDIUM;
|
||||||
|
if (cfdata->iconsize > 32) cfdata->icon_method = ICONSIZE_LARGE;
|
||||||
|
|
||||||
|
cfdata->follow_speed = ib->conf->follow_speed;
|
||||||
|
cfdata->autoscroll_speed = ib->conf->autoscroll_speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *_create_data(E_Config_Dialog *cfd)
|
||||||
|
{
|
||||||
|
CFData *cfdata;
|
||||||
|
|
||||||
|
cfdata = E_NEW(CFData, 1);
|
||||||
|
return cfdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _free_data(E_Config_Dialog *cfd, CFData *cfdata)
|
||||||
|
{
|
||||||
|
free(cfdata);
|
||||||
|
}
|
||||||
|
|
||||||
|
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata)
|
||||||
|
{
|
||||||
|
Evas_Object *o, *of, *ob;
|
||||||
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
|
_fill_data(cfdata);
|
||||||
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||||
|
ob = e_widget_check_add(evas, _("Follower"), &(cfdata->follower));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_check_add(evas, _("Auto Fit Icons"), &(cfdata->method));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
of = e_widget_framelist_add(evas, _("Icon Size"), 0);
|
||||||
|
rg = e_widget_radio_group_new(&(cfdata->icon_method));
|
||||||
|
|
||||||
|
ob = e_widget_radio_add(evas, _("Small"), ICONSIZE_SMALL, rg);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_radio_add(evas, _("Medium"), ICONSIZE_MEDIUM, rg);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_radio_add(evas, _("Large"), ICONSIZE_LARGE, rg);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int _basic_apply_data(E_Config_Dialog *cfd, CFData *cfdata)
|
||||||
|
{
|
||||||
|
e_border_button_bindings_ungrab_all();
|
||||||
|
ib->conf->follower = cfdata->follower;
|
||||||
|
|
||||||
|
if (cfdata->method == 0)
|
||||||
|
{
|
||||||
|
cfdata->width = IBOX_WIDTH_FIXED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfdata->width = IBOX_WIDTH_AUTO;
|
||||||
|
}
|
||||||
|
ib->conf->width = cfdata->width;
|
||||||
|
|
||||||
|
if (cfdata->icon_method == ICONSIZE_SMALL) ib->conf->iconsize = 24;
|
||||||
|
if (cfdata->icon_method == ICONSIZE_MEDIUM) ib->conf->iconsize = 32;
|
||||||
|
if (cfdata->icon_method == ICONSIZE_LARGE) ib->conf->iconsize = 40;
|
||||||
|
|
||||||
|
e_border_button_bindings_grab_all();
|
||||||
|
e_config_save_queue();
|
||||||
|
|
||||||
|
_ibox_box_cb_config_updated(ib);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata)
|
||||||
|
{
|
||||||
|
Evas_Object *o, *of, *ob, *ot;
|
||||||
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
|
_fill_data(cfdata);
|
||||||
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||||
|
ob = e_widget_check_add(evas, _("Follower"), &(cfdata->follower));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_check_add(evas, _("Auto Fit Icons"), &(cfdata->method));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
of = e_widget_framelist_add(evas, _("Icon Settings"), 0);
|
||||||
|
ob = e_widget_label_add(evas, _("Icon Size:"));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f pixels"), 8, 128, 1, 0, NULL, &(cfdata->iconsize), 200);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
/* Advanced Options */
|
||||||
|
of = e_widget_framelist_add(evas, _("Advanced Settings"), 0);
|
||||||
|
ob = e_widget_label_add(evas, _("Follow Speed:"));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.01, 1.0, 0.01, 0, &(cfdata->follow_speed), NULL,200);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
|
ob = e_widget_label_add(evas, _("Autoscroll Speed:"));
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.01, 1.0, 0.01, 0, &(cfdata->autoscroll_speed), NULL,200);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int _advanced_apply_data(E_Config_Dialog *cfd, CFData *cfdata)
|
||||||
|
{
|
||||||
|
e_border_button_bindings_ungrab_all();
|
||||||
|
ib->conf->follower = cfdata->follower;
|
||||||
|
|
||||||
|
if (cfdata->method == 0)
|
||||||
|
{
|
||||||
|
cfdata->width = IBOX_WIDTH_FIXED;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfdata->width = IBOX_WIDTH_AUTO;
|
||||||
|
}
|
||||||
|
ib->conf->width = cfdata->width;
|
||||||
|
|
||||||
|
ib->conf->iconsize = cfdata->iconsize;
|
||||||
|
|
||||||
|
ib->conf->follow_speed = cfdata->follow_speed;
|
||||||
|
ib->conf->autoscroll_speed = cfdata->autoscroll_speed;
|
||||||
|
|
||||||
|
e_border_button_bindings_grab_all();
|
||||||
|
e_config_save_queue();
|
||||||
|
|
||||||
|
_ibox_box_cb_config_updated(ib);
|
||||||
|
return 1;
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifdef E_TYPEDEFS
|
||||||
|
#else
|
||||||
|
#ifndef E_MOD_CONFIG_H
|
||||||
|
#define E_MOD_CONFIG_H
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
EAPI void e_int_config_ibox(E_Container *con, IBox *ibox);
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -75,24 +75,14 @@ static void _ibox_icon_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, voi
|
||||||
static void _ibox_icon_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _ibox_icon_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
static void _ibox_icon_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _ibox_icon_cb_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
|
|
||||||
static void _ibox_box_cb_width_auto(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_iconsize_change(IBox_Box *ibb);
|
|
||||||
static void _ibox_box_cb_iconsize_microscopic(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_tiny(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_very_small(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_small(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_medium(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_large(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_very_large(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_extremely_large(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_huge(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_enormous(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
static void _ibox_box_cb_iconsize_gigantic(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
||||||
|
|
||||||
static void _ibox_box_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _ibox_box_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _ibox_box_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _ibox_box_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _ibox_box_cb_menu_configure(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
|
||||||
static void _ibox_box_cb_follower(void *data, E_Menu *m, E_Menu_Item *mi);
|
/* Config Updated Function Protos */
|
||||||
|
static void _ibox_box_cb_width_auto(void *data);
|
||||||
|
static void _ibox_box_cb_follower(void *data);
|
||||||
|
static void _ibox_box_cb_iconsize_change(void *data);
|
||||||
|
|
||||||
/* public module routines. all modules must have these */
|
/* public module routines. all modules must have these */
|
||||||
E_Module_Api e_modapi =
|
E_Module_Api e_modapi =
|
||||||
|
@ -235,13 +225,9 @@ _ibox_new()
|
||||||
_ibox_box_menu_new(ibb);
|
_ibox_box_menu_new(ibb);
|
||||||
|
|
||||||
/* Add main menu to box menu */
|
/* Add main menu to box menu */
|
||||||
mi = e_menu_item_new(ibb->menu);
|
mi = e_menu_item_new(ib->config_menu);
|
||||||
e_menu_item_label_set(mi, _("Options"));
|
e_menu_item_label_set(mi, _("Config Dialog"));
|
||||||
e_menu_item_submenu_set(mi, ib->config_menu_options);
|
e_menu_item_callback_set(mi, _ibox_box_cb_menu_configure, ibb);
|
||||||
|
|
||||||
mi = e_menu_item_new(ibb->menu);
|
|
||||||
e_menu_item_label_set(mi, _("Size"));
|
|
||||||
e_menu_item_submenu_set(mi, ib->config_menu_size);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(ib->config_menu);
|
mi = e_menu_item_new(ib->config_menu);
|
||||||
e_menu_item_label_set(mi, con->name);
|
e_menu_item_label_set(mi, con->name);
|
||||||
|
@ -258,7 +244,7 @@ _ibox_new()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ibox_free(IBox *ib)
|
_ibox_free(IBox *ib)
|
||||||
{
|
{
|
||||||
E_CONFIG_DD_FREE(conf_edd);
|
E_CONFIG_DD_FREE(conf_edd);
|
||||||
E_CONFIG_DD_FREE(conf_box_edd);
|
E_CONFIG_DD_FREE(conf_box_edd);
|
||||||
|
@ -266,8 +252,6 @@ _ibox_free(IBox *ib)
|
||||||
while (ib->boxes)
|
while (ib->boxes)
|
||||||
_ibox_box_free(ib->boxes->data);
|
_ibox_box_free(ib->boxes->data);
|
||||||
|
|
||||||
e_object_del(E_OBJECT(ib->config_menu_options));
|
|
||||||
e_object_del(E_OBJECT(ib->config_menu_size));
|
|
||||||
e_object_del(E_OBJECT(ib->config_menu));
|
e_object_del(E_OBJECT(ib->config_menu));
|
||||||
evas_list_free(ib->conf->boxes);
|
evas_list_free(ib->conf->boxes);
|
||||||
free(ib->conf);
|
free(ib->conf);
|
||||||
|
@ -454,12 +438,28 @@ _ibox_box_menu_new(IBox_Box *ibb)
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_menu_enabled, ibb);
|
e_menu_item_callback_set(mi, _ibox_box_cb_menu_enabled, ibb);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Config */
|
||||||
|
mi = e_menu_item_new(mn);
|
||||||
|
e_menu_item_label_set(mi, _("Config Dialog"));
|
||||||
|
e_menu_item_callback_set(mi, _ibox_box_cb_menu_configure, ibb);
|
||||||
|
|
||||||
/* Edit */
|
/* Edit */
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
e_menu_item_label_set(mi, _("Edit Mode"));
|
e_menu_item_label_set(mi, _("Edit Mode"));
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_menu_edit, ibb);
|
e_menu_item_callback_set(mi, _ibox_box_cb_menu_edit, ibb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ibox_box_cb_menu_configure(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
IBox_Box *ibb;
|
||||||
|
E_Config_Dialog *cfd;
|
||||||
|
|
||||||
|
ibb = (IBox_Box *)data;
|
||||||
|
if (!ibb) return;
|
||||||
|
e_int_config_ibox(ibb->con, ibb->ibox);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ibox_box_enable(IBox_Box *ibb)
|
_ibox_box_enable(IBox_Box *ibb)
|
||||||
{
|
{
|
||||||
|
@ -592,114 +592,9 @@ void
|
||||||
_ibox_config_menu_new(IBox *ib)
|
_ibox_config_menu_new(IBox *ib)
|
||||||
{
|
{
|
||||||
E_Menu *mn;
|
E_Menu *mn;
|
||||||
E_Menu_Item *mi;
|
|
||||||
|
|
||||||
mn = e_menu_new();
|
mn = e_menu_new();
|
||||||
ib->config_menu = mn;
|
ib->config_menu = mn;
|
||||||
|
|
||||||
mn = e_menu_new();
|
|
||||||
ib->config_menu_options = mn;
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Auto fit icons"));
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
if (ib->conf->width == IBOX_WIDTH_AUTO) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_width_auto, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Follower"));
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
if (ib->conf->follower) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_follower, ib);
|
|
||||||
|
|
||||||
mn = e_menu_new();
|
|
||||||
ib->config_menu_size = mn;
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Microscopic"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 8) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_microscopic, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Tiny"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 12) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_tiny, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Very Small"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 16) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_very_small, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Small"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 24) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_small, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Medium"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 32) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_medium, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Large"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 40) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_large, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Very Large"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 48) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_very_large, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Extremely Large"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 56) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_extremely_large, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Huge"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 64) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_huge, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Enormous"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 96) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_enormous, ib);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(mn);
|
|
||||||
e_menu_item_label_set(mi, _("Gigantic"));
|
|
||||||
e_menu_item_radio_set(mi, 1);
|
|
||||||
e_menu_item_radio_group_set(mi, 2);
|
|
||||||
if (ib->conf->iconsize == 128) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _ibox_box_cb_iconsize_gigantic, ib);
|
|
||||||
|
|
||||||
/* Submenus */
|
|
||||||
mi = e_menu_item_new(ib->config_menu);
|
|
||||||
e_menu_item_label_set(mi, _("Options"));
|
|
||||||
e_menu_item_submenu_set(mi, ib->config_menu_options);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(ib->config_menu);
|
|
||||||
e_menu_item_label_set(mi, _("Size"));
|
|
||||||
e_menu_item_submenu_set(mi, ib->config_menu_size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -749,7 +644,7 @@ _ibox_box_frame_resize(IBox_Box *ibb)
|
||||||
(e_gadman_client_edge_get(ibb->gmc) == E_GADMAN_EDGE_BOTTOM))
|
(e_gadman_client_edge_get(ibb->gmc) == E_GADMAN_EDGE_BOTTOM))
|
||||||
{
|
{
|
||||||
/* w is the width of the box */
|
/* w is the width of the box */
|
||||||
e_gadman_client_resize(ibb->gmc, ibb->w, bh);
|
e_gadman_client_resize(ibb->gmc, bw, bh); //ibb->w
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1260,51 +1155,41 @@ _ibox_box_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ibox_box_cb_width_auto(void *data, E_Menu *m, E_Menu_Item *mi)
|
_ibox_box_cb_width_auto(void *data)
|
||||||
{
|
{
|
||||||
IBox *ib;
|
IBox *ib;
|
||||||
IBox_Box *ibb;
|
IBox_Box *ibb;
|
||||||
unsigned char enabled;
|
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
|
||||||
ib = data;
|
ib = (IBox *)data;
|
||||||
enabled = e_menu_item_toggle_get(mi);
|
|
||||||
if ((enabled) && (ib->conf->width == IBOX_WIDTH_FIXED))
|
|
||||||
{
|
|
||||||
ib->conf->width = IBOX_WIDTH_AUTO;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
for (l = ib->boxes; l; l = l->next)
|
||||||
{
|
{
|
||||||
ibb = l->data;
|
ibb = l->data;
|
||||||
_ibox_box_update_policy(ibb);
|
_ibox_box_update_policy(ibb);
|
||||||
_ibox_box_frame_resize(ibb);
|
_ibox_box_frame_resize(ibb);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (!(enabled) && (ib->conf->width == IBOX_WIDTH_AUTO))
|
|
||||||
{
|
|
||||||
ib->conf->width = IBOX_WIDTH_FIXED;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_update_policy(ibb);
|
|
||||||
_ibox_box_frame_resize(ibb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ibox_box_iconsize_change(IBox_Box *ibb)
|
_ibox_box_cb_iconsize_change(void *data)
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
IBox *ib;
|
||||||
|
IBox_Box *ibb;
|
||||||
|
Evas_List *l, *ll;
|
||||||
|
|
||||||
|
ib = (IBox *)data;
|
||||||
|
for (l = ib->boxes; l; l = l->next)
|
||||||
|
{
|
||||||
|
ibb = l->data;
|
||||||
|
|
||||||
e_box_freeze(ibb->item_object);
|
e_box_freeze(ibb->item_object);
|
||||||
for (l = ibb->icons; l; l = l->next)
|
for (ll = ibb->icons; ll; ll = ll->next)
|
||||||
{
|
{
|
||||||
IBox_Icon *ic;
|
IBox_Icon *ic;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
Evas_Coord bw, bh;
|
Evas_Coord bw, bh;
|
||||||
|
|
||||||
ic = l->data;
|
ic = ll->data;
|
||||||
o = ic->icon_object;
|
o = ic->icon_object;
|
||||||
evas_object_resize(o, ibb->ibox->conf->iconsize, ibb->ibox->conf->iconsize);
|
evas_object_resize(o, ibb->ibox->conf->iconsize, ibb->ibox->conf->iconsize);
|
||||||
edje_object_part_swallow(ic->bg_object, "item", o);
|
edje_object_part_swallow(ic->bg_object, "item", o);
|
||||||
|
@ -1321,204 +1206,7 @@ _ibox_box_iconsize_change(IBox_Box *ibb)
|
||||||
}
|
}
|
||||||
e_box_thaw(ibb->item_object);
|
e_box_thaw(ibb->item_object);
|
||||||
_ibox_box_frame_resize(ibb);
|
_ibox_box_frame_resize(ibb);
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_microscopic(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 8;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
}
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_tiny(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 12;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_very_small(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 16;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_small(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 24;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_medium(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 32;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_large(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 40;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_very_large(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 48;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_extremely_large(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 56;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_huge(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 64;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_enormous(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 96;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_ibox_box_cb_iconsize_gigantic(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
||||||
{
|
|
||||||
IBox *ib;
|
|
||||||
Evas_List *l;
|
|
||||||
|
|
||||||
ib = data;
|
|
||||||
ib->conf->iconsize = 128;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
|
||||||
{
|
|
||||||
IBox_Box *ibb;
|
|
||||||
|
|
||||||
ibb = l->data;
|
|
||||||
_ibox_box_iconsize_change(ibb);
|
|
||||||
}
|
|
||||||
e_config_save_queue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1549,18 +1237,17 @@ _ibox_box_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ibox_box_cb_follower(void *data, E_Menu *m, E_Menu_Item *mi)
|
_ibox_box_cb_follower(void *data)
|
||||||
{
|
{
|
||||||
IBox *ib;
|
IBox *ib;
|
||||||
IBox_Box *ibb;
|
IBox_Box *ibb;
|
||||||
unsigned char enabled;
|
unsigned char enabled;
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
|
||||||
ib = data;
|
ib = (IBox *)data;
|
||||||
enabled = e_menu_item_toggle_get(mi);
|
enabled = ib->conf->follower;
|
||||||
if ((enabled) && (!ib->conf->follower))
|
if (enabled)
|
||||||
{
|
{
|
||||||
ib->conf->follower = 1;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
for (l = ib->boxes; l; l = l->next)
|
||||||
{
|
{
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
@ -1577,9 +1264,8 @@ _ibox_box_cb_follower(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!(enabled) && (ib->conf->follower))
|
else if (!enabled)
|
||||||
{
|
{
|
||||||
ib->conf->follower = 0;
|
|
||||||
for (l = ib->boxes; l; l = l->next)
|
for (l = ib->boxes; l; l = l->next)
|
||||||
{
|
{
|
||||||
ibb = l->data;
|
ibb = l->data;
|
||||||
|
@ -1588,5 +1274,13 @@ _ibox_box_cb_follower(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
ibb->overlay_object = NULL;
|
ibb->overlay_object = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
e_config_save_queue();
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_ibox_box_cb_config_updated(void *data)
|
||||||
|
{
|
||||||
|
/* Call Any Needed Funcs To Let Module Handle Config Changes */
|
||||||
|
_ibox_box_cb_follower(data);
|
||||||
|
_ibox_box_cb_width_auto(data);
|
||||||
|
_ibox_box_cb_iconsize_change(data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,8 +32,6 @@ struct _IBox
|
||||||
{
|
{
|
||||||
Evas_List *boxes;
|
Evas_List *boxes;
|
||||||
E_Menu *config_menu;
|
E_Menu *config_menu;
|
||||||
E_Menu *config_menu_options;
|
|
||||||
E_Menu *config_menu_size;
|
|
||||||
|
|
||||||
Config *conf;
|
Config *conf;
|
||||||
};
|
};
|
||||||
|
@ -94,4 +92,6 @@ EAPI int e_modapi_save (E_Module *m);
|
||||||
EAPI int e_modapi_info (E_Module *m);
|
EAPI int e_modapi_info (E_Module *m);
|
||||||
EAPI int e_modapi_about (E_Module *m);
|
EAPI int e_modapi_about (E_Module *m);
|
||||||
|
|
||||||
|
EAPI void _ibox_box_cb_config_updated(void *data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue