new color configuration dialog.

The goal of this dialog is to be simpler to use and fit a small
screen, however provide more useful features to the user.

This was done by having one single multi-select ilist with color
previews on the left (just text now, but supports solid colors as
well) and a full-featured preview on the editor box.

The list supports multi-select, so one can enable, disable or set
colors on multiple items at the same time, avoiding the old
enable/disable radios that did not make much sense.  The frame label
should be updated based on the items one select (if they have the same
colors or are "mixed", if they are all unset).

The list also uses the new feature to show an "end" icon to notify the
item is customized or not.

TODO: review supported/known color classes, it is as simple as
      changing the description array.



SVN revision: 46928
This commit is contained in:
Gustavo Sverzut Barbieri 2010-03-07 05:33:34 +00:00
parent 00e09c9c77
commit d7eb875806
3 changed files with 887 additions and 760 deletions

View File

@ -29807,3 +29807,120 @@ MIMEBASE("application/x-font-bdf","icon_mime_font_generic.png", ".BDF", 128);
}
}
}
/////////////////////////////////////////////////////////////////////////////
/*** MOD: CONF_COLORS ***/
group {
name: "e/modules/conf_colors/preview/solid";
parts {
part {
name: "e.rect";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
color_class: "color_preview";
rel1 {
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
}
}
}
}
group {
name: "e/modules/conf_colors/preview/text";
parts {
part {
name: "e.text";
type: TEXT;
effect: OUTLINE_SOFT_SHADOW;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
color2: 255 255 255 255;
color3: 255 255 255 255;
color_class: "color_preview";
rel1 {
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
text {
font: "Sans:style=Bold";
size: 16;
text: "Aa";
min: 1 1;
}
}
}
}
}
group {
name: "e/modules/conf_colors/preview/unknown";
parts {
part {
name: "c1";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
color_class: "color_preview_c1";
rel1 {
relative: 0.0 0.0;
offset: 0 0;
}
rel2 {
relative: 1.0 1.0;
offset: -7 -1;
}
}
}
part {
name: "c2";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
color_class: "color_preview_c2";
rel1 {
relative: 1.0 0.0;
offset: -6 0;
}
rel2 {
relative: 1.0 1.0;
offset: -4 -1;
}
}
}
part {
name: "c3";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
color: 255 255 255 255;
color_class: "color_preview_c3";
rel1 {
relative: 1.0 0.0;
offset: -3 0;
}
rel2 {
relative: 1.0 1.0;
offset: -1 -1;
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -15,12 +15,12 @@ EAPI E_Module_Api e_modapi =
};
EAPI void *
e_modapi_init(E_Module *m)
e_modapi_init(E_Module *m __UNUSED__)
{
e_configure_registry_category_add("appearance", 10, _("Look"), NULL,
e_configure_registry_category_add("appearance", 10, _("Look"), NULL,
"preferences-appearance");
e_configure_registry_item_add("appearance/colors", 30, _("Colors"), NULL,
"preferences-desktop-color",
e_configure_registry_item_add("appearance/colors", 30, _("Colors"), NULL,
"preferences-desktop-color",
e_int_config_color_classes);
conf_module = m;
e_module_delayed_set(m, 1);
@ -28,11 +28,11 @@ e_modapi_init(E_Module *m)
}
EAPI int
e_modapi_shutdown(E_Module *m)
e_modapi_shutdown(E_Module *m __UNUSED__)
{
E_Config_Dialog *cfd;
while ((cfd = e_config_dialog_get("E", "appearance/colors")))
while ((cfd = e_config_dialog_get("E", "appearance/colors")))
e_object_del(E_OBJECT(cfd));
e_configure_registry_item_del("appearance/colors");
e_configure_registry_category_del("appearance");
@ -41,7 +41,7 @@ e_modapi_shutdown(E_Module *m)
}
EAPI int
e_modapi_save(E_Module *m)
e_modapi_save(E_Module *m __UNUSED__)
{
return 1;
}