Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/modules/ibar
Modified Files:
e_mod_main.c
Log Message:
a temperature monitor module for acpi... it's simple... and really only
handles 1 temperature guage - but it's useful. fixed stuff in battery
modules, added config menus... ibar size change menu only works after a
restart for now.. need to fix that.
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/ibar/e_mod_main.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_mod_main.c 25 Dec 2004 15:33:48 -0000 1.5
+++ e_mod_main.c 2 Jan 2005 02:39:44 -0000 1.6
@@ -32,9 +32,11 @@
static void _ibar_cb_width_fixed(void *data, E_Menu *m, E_Menu_Item *mi);
static void _ibar_cb_width_auto(void *data, E_Menu *m, E_Menu_Item *mi);
static void _ibar_cb_width_fill(void *data, E_Menu *m, E_Menu_Item *mi);
+static void _ibar_bar_iconsize_change(IBar_Bar *ibb);
static IBar_Icon *_ibar_bar_icon_find(IBar_Bar *ibb, E_App *a);
static void _ibar_bar_icon_del(IBar_Icon *ic);
static IBar_Icon *_ibar_bar_icon_new(IBar_Bar *ibb, E_App *a);
+static void _ibar_bar_icon_resize(IBar_Icon *ic);
static void _ibar_bar_icon_reorder_before(IBar_Icon *ic, IBar_Icon *before);
static void _ibar_bar_icon_reorder_after(IBar_Icon *ic, IBar_Icon *after);
static void _ibar_bar_frame_resize(IBar_Bar *ibb);
@@ -360,6 +362,216 @@
}
}
+/* FIXME: none of these work runtime... only on restart */
+static void
+_ibar_cb_iconsize_microscopic(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 8;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_tiny(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 12;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_very_small(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 16;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_small(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 24;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_medium(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 32;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_large(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 40;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_very_large(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 48;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_extremely_large(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 56;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_huge(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 64;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_enormous(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 96;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
+static void
+_ibar_cb_iconsize_gigantic(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+ IBar *ib;
+ Evas_List *l;
+
+ ib = data;
+ ib->conf->iconsize = 128;
+ for (l = ib->bars; l; l = l->next)
+ {
+ IBar_Bar *ibb;
+
+ ibb = l->data;
+ _ibar_bar_iconsize_change(ibb);
+ _ibar_bar_edge_change(ibb, ib->conf->edge);
+ }
+ e_config_save_queue();
+}
+
static E_Menu *
_ibar_config_menu_new(IBar *ib)
{
@@ -372,29 +584,106 @@
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Fixed width");
e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
+ e_menu_item_radio_group_set(mi, 1);
if (ib->conf->width > 0) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _ibar_cb_width_fixed, ib);
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Auto fit icons");
e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
+ e_menu_item_radio_group_set(mi, 1);
if (ib->conf->width < 0) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _ibar_cb_width_auto, ib);
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Fill edge");
e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
+ e_menu_item_radio_group_set(mi, 1);
if (ib->conf->width == 0) e_menu_item_toggle_set(mi, 1);
e_menu_item_callback_set(mi, _ibar_cb_width_fill, ib);
-/*
mi = e_menu_item_new(mn);
e_menu_item_separator_set(mi, 1);
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, _ibar_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, _ibar_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, _ibar_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, _ibar_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, _ibar_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, _ibar_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, _ibar_cb_iconsize_very_large, ib);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, "Exteremely 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, _ibar_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, _ibar_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, _ibar_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, _ibar_cb_iconsize_gigantic, ib);
+
+/*
+ mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Auto hide");
e_menu_item_check_set(mi, 1);
if (ib->conf->autohide == 0) e_menu_item_toggle_set(mi, 1);
@@ -484,6 +773,22 @@
e_config_save_queue();
}
+static void
+_ibar_bar_iconsize_change(IBar_Bar *ibb)
+{
+ Evas_List *l;
+
+ for (l = ibb->icons; l; l = l->next)
+ {
+ IBar_Icon *ic;
+
+ ic = l->data;
+ _ibar_bar_icon_resize(ic);
+ }
+ _ibar_bar_convert_move_resize_to_config(ibb);
+ _ibar_bar_frame_resize(ibb);
+}
+
static IBar_Icon *
_ibar_bar_icon_find(IBar_Bar *ibb, E_App *a)
{
@@ -609,6 +914,28 @@
}
static void
+_ibar_bar_icon_resize(IBar_Icon *ic)
+{
+ Evas_Object *o;
+ Evas_Coord bw, bh;
+
+ e_box_freeze(ic->ibb->box_object);
+ o = ic->icon_object;
+ edje_extern_object_min_size_set(o, ic->ibb->ibar->conf->iconsize,
ic->ibb->ibar->conf->iconsize);
+ edje_object_part_swallow(ic->bg_object, "item", o);
+ edje_object_size_min_calc(ic->bg_object, &bw, &bh);
+
+ e_box_pack_options_set(ic->bg_object,
+ 1, 1, /* fill */
+ 0, 0, /* expand */
+ 0.5, 0.5, /* align */
+ bw, bh, /* min */
+ bw, bh /* max */
+ );
+ e_box_thaw(ic->ibb->box_object);
+}
+
+static void
_ibar_bar_icon_reorder_before(IBar_Icon *ic, IBar_Icon *before)
{
Evas_Coord bw, bh;
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs