* border property patch - dont generate on moves
* entry dialog becomes object - supports initial text contents of the entry * fm2 gets menu patch (heavily worked so its safe) so u can delete and rename files (and dirs) that you have permission to do so with. * picutre importing disables or enables the scale and encoding stuff depending on what is selected * more widgets support enable/disable * importer detects duaplicate destination target filenames and tries alternate names. * fsel widget displays extensions by default. * test filemanager menu gone * pants on! SVN revision: 24589
This commit is contained in:
parent
1b34e1f692
commit
d104992051
11
TODO
11
TODO
|
@ -34,9 +34,6 @@ Some of the things (in very short form) that need to be done to E17...
|
|||
ESSENTIAL FEATURES
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* fm2 needs to have right mouse menu on files for rename and delete
|
||||
* wallpaper select needs to see if target .edj name exists - if so - find
|
||||
a new target name
|
||||
* fsel needs "add" button for favorites to add whataver directory is selected
|
||||
if any dir is selected (create symlink)
|
||||
* fsel needs to clear the entry when entering a new dir
|
||||
|
@ -71,9 +68,9 @@ Some of the things (in very short form) that need to be done to E17...
|
|||
* Dragging a non-eap icon from a border to the ibar should automatically
|
||||
create the icon and add that (instead of warning the user that this can't be
|
||||
done)
|
||||
* new fm code relays-out a dir every time the queue is processed - maybe try
|
||||
* new fm code re-lays-out a dir every time the queue is processed - maybe try
|
||||
to speed this up
|
||||
* new fm code's file scannign isnt insanely fast - icon size calcs etc. speed
|
||||
* new fm code's file scanning isn't insanely fast - icon size calcs etc. speed
|
||||
up for special cases like list view?
|
||||
]]]
|
||||
|
||||
|
@ -82,10 +79,6 @@ Some of the things (in very short form) that need to be done to E17...
|
|||
CLEANUPS
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
* bg import dialog and code needs a big workover - needs a few more options on
|
||||
import like quality (lossy low, medium, high, perfect), when scaling do you
|
||||
stretch, scale retaining aspect within the screen or extend beyond screen
|
||||
boundaries (so nothing is left blank) etc.
|
||||
* bg needs a gradient dialog that can take a set of pre-drawn png's and edc
|
||||
recipies and use colored rects and overlayed png's recolored with color
|
||||
options to create vertical, horizontal, radial etc. gradients quickly and
|
||||
|
|
|
@ -42,6 +42,7 @@ group {
|
|||
part {
|
||||
name: "sld_runner";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
max: 2 99999;
|
||||
|
@ -63,6 +64,7 @@ group {
|
|||
part {
|
||||
name: "label_under";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -95,6 +97,7 @@ group {
|
|||
name: "label";
|
||||
type: TEXT;
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -124,6 +127,7 @@ group {
|
|||
part {
|
||||
name: "label_over";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -257,6 +261,7 @@ group {
|
|||
part {
|
||||
name: "slider_glow";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
min: 32 32;
|
||||
|
@ -278,6 +283,33 @@ group {
|
|||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "clip";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
}
|
||||
description {
|
||||
state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 128;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "catch";
|
||||
type: RECT;
|
||||
mouse_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description {
|
||||
state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
|
@ -368,6 +400,22 @@ group {
|
|||
target: "label";
|
||||
target: "label_over";
|
||||
}
|
||||
program {
|
||||
name: "disable";
|
||||
signal: "disabled";
|
||||
source: "";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
target: "clip";
|
||||
target: "catch";
|
||||
}
|
||||
program {
|
||||
name: "enable";
|
||||
signal: "enabled";
|
||||
source: "";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "clip";
|
||||
target: "catch";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -404,6 +452,7 @@ group {
|
|||
part {
|
||||
name: "sld_runner";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
max: 99999 2;
|
||||
|
@ -425,6 +474,7 @@ group {
|
|||
part {
|
||||
name: "label_under";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -457,6 +507,7 @@ group {
|
|||
name: "label";
|
||||
type: TEXT;
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -487,6 +538,7 @@ group {
|
|||
part {
|
||||
name: "label_over";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
|
@ -572,6 +624,7 @@ group {
|
|||
part {
|
||||
name: "slider_img";
|
||||
mouse_events: 0;
|
||||
clip_to: "clip";
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
min: 32 32;
|
||||
|
@ -641,6 +694,33 @@ group {
|
|||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "clip";
|
||||
type: RECT;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
}
|
||||
description {
|
||||
state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 128;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "catch";
|
||||
type: RECT;
|
||||
mouse_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description {
|
||||
state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
|
@ -731,5 +811,21 @@ group {
|
|||
target: "label";
|
||||
target: "label_over";
|
||||
}
|
||||
program {
|
||||
name: "disable";
|
||||
signal: "disabled";
|
||||
source: "";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
target: "clip";
|
||||
target: "catch";
|
||||
}
|
||||
program {
|
||||
name: "enable";
|
||||
signal: "enabled";
|
||||
source: "";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "clip";
|
||||
target: "catch";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4667,6 +4667,8 @@ _e_border_eval(E_Border *bd)
|
|||
E_Event_Border_Property *event;
|
||||
int change_urgent = 0;
|
||||
int rem_change = 0;
|
||||
int send_event = 1;
|
||||
|
||||
|
||||
/* fetch any info queued to be fetched */
|
||||
if (bd->client.icccm.fetch.client_leader)
|
||||
|
@ -5834,6 +5836,7 @@ _e_border_eval(E_Border *bd)
|
|||
e_container_shape_move(bd->shape, bd->x, bd->y);
|
||||
bd->changes.pos = 0;
|
||||
rem_change = 1;
|
||||
send_event = 0;
|
||||
}
|
||||
else if (bd->changes.size)
|
||||
{
|
||||
|
@ -6223,11 +6226,13 @@ _e_border_eval(E_Border *bd)
|
|||
if ((bd->remember) && (rem_change))
|
||||
e_remember_update(bd->remember, bd);
|
||||
|
||||
|
||||
if(send_event)
|
||||
{
|
||||
event = calloc(1, sizeof(E_Event_Border_Property));
|
||||
event->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
ecore_event_add(E_EVENT_BORDER_PROPERTY, event, _e_border_event_border_property_free, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -1,31 +1,15 @@
|
|||
#include "e.h"
|
||||
|
||||
typedef struct _E_Entry_Dialog E_Entry_Dialog;
|
||||
struct _E_Entry_Dialog
|
||||
{
|
||||
struct
|
||||
{
|
||||
void *data;
|
||||
void (*func)(char *text, void *data);
|
||||
} ok;
|
||||
struct
|
||||
{
|
||||
void *data;
|
||||
void (*func)(void *data);
|
||||
} cancel;
|
||||
E_Dialog *dia;
|
||||
Evas_Object *entry;
|
||||
char *text;
|
||||
};
|
||||
|
||||
/* Private function definitions */
|
||||
static void _e_entry_dialog_delete(E_Win *win);
|
||||
static void _e_entry_dialog_free(E_Entry_Dialog *dia);
|
||||
static void _e_entry_dialog_ok(void *data, E_Dialog *dia);
|
||||
static void _e_entry_dialog_cancel(void *data, E_Dialog *dia);
|
||||
static void _e_entry_dialog_delete(E_Win *win);
|
||||
|
||||
/* Externally accesible functions */
|
||||
EAPI void
|
||||
EAPI E_Entry_Dialog *
|
||||
e_entry_dialog_show(const char *title, const char *icon, const char *text,
|
||||
const char *initial_text,
|
||||
const char *button_text, const char *button2_text,
|
||||
void (*func)(char *text, void *data),
|
||||
void (*func2)(void *data), void *data)
|
||||
|
@ -35,11 +19,12 @@ e_entry_dialog_show(const char *title, const char *icon, const char *text,
|
|||
Evas_Object *o, *ob;
|
||||
int w, h;
|
||||
|
||||
ed = E_NEW(E_Entry_Dialog, 1);
|
||||
ed = E_OBJECT_ALLOC(E_Entry_Dialog, E_ENTRY_DIALOG_TYPE, _e_entry_dialog_free);
|
||||
ed->ok.func = func;
|
||||
ed->ok.data = data;
|
||||
ed->cancel.func = func2;
|
||||
ed->cancel.data = data;
|
||||
ed->text = strdup(initial_text);
|
||||
|
||||
dia = e_dialog_new(e_container_current_get(e_manager_current_get()));
|
||||
if (!dia)
|
||||
|
@ -72,17 +57,27 @@ e_entry_dialog_show(const char *title, const char *icon, const char *text,
|
|||
|
||||
e_win_centered_set(dia->win, 1);
|
||||
e_dialog_show(dia);
|
||||
return ed;
|
||||
}
|
||||
|
||||
/* Private Function Bodies */
|
||||
static void
|
||||
_e_entry_dialog_free(E_Entry_Dialog *ed)
|
||||
{
|
||||
e_object_del(E_OBJECT(ed->dia));
|
||||
free(ed);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_entry_dialog_ok(void *data, E_Dialog *dia)
|
||||
{
|
||||
E_Entry_Dialog *ed;
|
||||
|
||||
ed = data;
|
||||
e_object_ref(E_OBJECT(ed));
|
||||
if (ed->ok.func) ed->ok.func(ed->text, ed->ok.data);
|
||||
_e_entry_dialog_delete(ed->dia->win);
|
||||
e_object_del(E_OBJECT(ed));
|
||||
e_object_unref(E_OBJECT(ed));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -91,8 +86,10 @@ _e_entry_dialog_cancel(void *data, E_Dialog *dia)
|
|||
E_Entry_Dialog *ed;
|
||||
|
||||
ed = data;
|
||||
e_object_ref(E_OBJECT(ed));
|
||||
if (ed->cancel.func) ed->cancel.func(ed->cancel.data);
|
||||
_e_entry_dialog_delete(ed->dia->win);
|
||||
e_object_del(E_OBJECT(ed));
|
||||
e_object_unref(E_OBJECT(ed));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -103,7 +100,5 @@ _e_entry_dialog_delete(E_Win *win)
|
|||
|
||||
dia = win->data;
|
||||
ed = dia->data;
|
||||
|
||||
e_object_del(E_OBJECT(dia));
|
||||
free(ed);
|
||||
e_object_del(E_OBJECT(ed));
|
||||
}
|
||||
|
|
|
@ -1,24 +1,42 @@
|
|||
#ifdef E_TYPEDEF
|
||||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
#ifdef E_TYPEDEFS
|
||||
|
||||
typedef struct _E_Entry_Dialog E_Entry_Dialog;
|
||||
|
||||
#else
|
||||
#ifndef E_ENTRY_DIALOG_H
|
||||
#define E_ENTRY_DIALOG_H
|
||||
|
||||
/*
|
||||
* @title - dialog title
|
||||
* @icon - dialog icon
|
||||
* @text - the text shown in the dialog
|
||||
* @button_text - "Ok" button text
|
||||
* @button2_text - "Cancel" button text
|
||||
* @func - the function to call if ok is pressed
|
||||
* @func2 - the function to call if cancel is pressed
|
||||
* @data - the pointer passed to func
|
||||
*/
|
||||
#define E_ENTRY_DIALOG_TYPE 0xE0b01025
|
||||
|
||||
EAPI void e_entry_dialog_show(const char *title, const char *icon, const char *text,
|
||||
const char *button_text, const char *button2_text,
|
||||
void (*func)(char *text, void *data),
|
||||
void (*func2)(void *data), void *data);
|
||||
struct _E_Entry_Dialog
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
||||
E_Dialog *dia;
|
||||
Evas_Object *entry;
|
||||
char *text;
|
||||
struct {
|
||||
void (*func) (char *text, void *data);
|
||||
void *data;
|
||||
} ok;
|
||||
struct {
|
||||
void (*func) (void *data);
|
||||
void *data;
|
||||
} cancel;
|
||||
};
|
||||
|
||||
EAPI E_Entry_Dialog *e_entry_dialog_show(const char *title,
|
||||
const char *icon,
|
||||
const char *text,
|
||||
const char *initial_text,
|
||||
const char *button_text,
|
||||
const char *button2_text,
|
||||
void (*func) (char *text, void *data),
|
||||
void (*func2) (void *data),
|
||||
void *data);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
316
src/bin/e_fm.c
316
src/bin/e_fm.c
|
@ -72,6 +72,9 @@ struct _E_Fm2_Icon
|
|||
Evas_Object *obj, *obj_icon;
|
||||
int saved_x, saved_y;
|
||||
int saved_rel;
|
||||
E_Menu *menu;
|
||||
E_Entry_Dialog *entry_dialog;
|
||||
E_Dialog *dialog;
|
||||
|
||||
E_Fm2_Icon_Info info;
|
||||
|
||||
|
@ -137,6 +140,17 @@ static void _e_fm2_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
|
|||
static void _e_fm2_smart_clip_set(Evas_Object *obj, Evas_Object * clip);
|
||||
static void _e_fm2_smart_clip_unset(Evas_Object *obj);
|
||||
|
||||
static void _e_fm2_menu_action_display(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp);
|
||||
static void _e_fm2_menu_post_cb(void *data, E_Menu *m);
|
||||
static void _e_fm2_file_rename(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_fm2_file_rename_delete_cb(void *obj);
|
||||
static void _e_fm2_file_rename_yes_cb(char *text, void *data);
|
||||
static void _e_fm2_file_rename_no_cb(char *text, void *data);
|
||||
static void _e_fm2_file_delete(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_fm2_file_delete_delete_cb(void *obj);
|
||||
static void _e_fm2_file_delete_yes_cb(void *data, E_Dialog *dialog);
|
||||
static void _e_fm2_file_delete_no_cb(void *data, E_Dialog *dialog);
|
||||
|
||||
static char *_meta_path = NULL;
|
||||
static Evas_Smart *_e_fm2_smart = NULL;
|
||||
|
||||
|
@ -228,10 +242,6 @@ e_fm2_path_set(Evas_Object *obj, char *dev, char *path)
|
|||
sd->config->theme.fixed = 0;
|
||||
}
|
||||
|
||||
_e_fm2_scan_stop(obj);
|
||||
_e_fm2_queue_free(obj);
|
||||
_e_fm2_regions_free(obj);
|
||||
_e_fm2_icons_free(obj);
|
||||
if (sd->dev) evas_stringshare_del(sd->dev);
|
||||
if (sd->path) evas_stringshare_del(sd->path);
|
||||
if (sd->realpath) evas_stringshare_del(sd->realpath);
|
||||
|
@ -239,6 +249,12 @@ e_fm2_path_set(Evas_Object *obj, char *dev, char *path)
|
|||
if (dev) sd->dev = evas_stringshare_add(dev);
|
||||
sd->path = evas_stringshare_add(path);
|
||||
sd->realpath = _e_fm2_dev_path_map(sd->dev, sd->path);
|
||||
|
||||
_e_fm2_scan_stop(obj);
|
||||
_e_fm2_queue_free(obj);
|
||||
_e_fm2_regions_free(obj);
|
||||
_e_fm2_icons_free(obj);
|
||||
|
||||
_e_fm2_scan_start(obj);
|
||||
evas_object_smart_callback_call(obj, "dir_changed", NULL);
|
||||
sd->tmp.iter = 0;
|
||||
|
@ -259,6 +275,26 @@ e_fm2_path_get(Evas_Object *obj, const char **dev, const char **path)
|
|||
if (path) *path = sd->path;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
e_fm2_refresh(Evas_Object *obj)
|
||||
{
|
||||
E_Fm2_Smart_Data *sd;
|
||||
|
||||
sd = evas_object_smart_data_get(obj);
|
||||
if (!sd) return; // safety
|
||||
if (!evas_object_type_get(obj)) return; // safety
|
||||
if (strcmp(evas_object_type_get(obj), "e_fm")) return; // safety
|
||||
|
||||
_e_fm2_scan_stop(obj);
|
||||
_e_fm2_queue_free(obj);
|
||||
_e_fm2_regions_free(obj);
|
||||
_e_fm2_icons_free(obj);
|
||||
|
||||
_e_fm2_scan_start(obj);
|
||||
// evas_object_smart_callback_call(obj, "dir_changed", NULL);
|
||||
sd->tmp.iter = 0;
|
||||
}
|
||||
|
||||
EAPI int
|
||||
e_fm2_has_parent_get(Evas_Object *obj)
|
||||
{
|
||||
|
@ -1248,6 +1284,22 @@ _e_fm2_icon_free(E_Fm2_Icon *ic)
|
|||
{
|
||||
/* free icon, object data etc. etc. */
|
||||
_e_fm2_icon_unrealize(ic);
|
||||
if (ic->menu)
|
||||
{
|
||||
e_menu_post_deactivate_callback_set(ic->menu, NULL, NULL);
|
||||
e_object_del(E_OBJECT(ic->menu));
|
||||
ic->menu = NULL;
|
||||
}
|
||||
if (ic->dialog)
|
||||
{
|
||||
e_object_del(E_OBJECT(ic->dialog));
|
||||
ic->dialog = NULL;
|
||||
}
|
||||
if (ic->entry_dialog)
|
||||
{
|
||||
e_object_del(E_OBJECT(ic->entry_dialog));
|
||||
ic->entry_dialog = NULL;
|
||||
}
|
||||
if (ic->info.file) evas_stringshare_del(ic->info.file);
|
||||
if (ic->info.mime) evas_stringshare_del(ic->info.mime);
|
||||
if (ic->info.label) evas_stringshare_del(ic->info.label);
|
||||
|
@ -1809,6 +1861,15 @@ _e_fm2_cb_icon_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
|||
}
|
||||
else if (ev->button == 3)
|
||||
{
|
||||
char buf[4096];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/%s", ic->sd->realpath, ic->info.file);
|
||||
if (ecore_file_can_write(buf))
|
||||
{
|
||||
_e_fm2_menu_action_display(ic, obj, ev->timestamp);
|
||||
evas_event_feed_mouse_up(evas_object_evas_get(obj), ev->button,
|
||||
EVAS_BUTTON_NONE, ev->timestamp, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2227,3 +2288,250 @@ _e_fm2_smart_clip_unset(Evas_Object *obj)
|
|||
if (!sd) return;
|
||||
evas_object_clip_unset(sd->clip);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_menu_action_display(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp)
|
||||
{
|
||||
E_Fm2_Smart_Data *sd;
|
||||
E_Menu *mn;
|
||||
E_Menu_Item *mi;
|
||||
E_Manager *man;
|
||||
E_Container *con;
|
||||
E_Zone *zone;
|
||||
int x, y;
|
||||
|
||||
sd = ic->sd;
|
||||
|
||||
mn = e_menu_new();
|
||||
e_menu_category_set(mn, "fileman/action");
|
||||
|
||||
mi = e_menu_item_new(mn);
|
||||
e_menu_item_label_set(mi, _("Delete"));
|
||||
e_menu_item_icon_edje_set(mi,
|
||||
(char *)e_theme_edje_file_get("base/theme/fileman",
|
||||
"fileman/button/delete"),
|
||||
"fileman/button/delete");
|
||||
e_menu_item_callback_set(mi, _e_fm2_file_delete, ic);
|
||||
|
||||
mi = e_menu_item_new(mn);
|
||||
e_menu_item_label_set(mi, _("Rename"));
|
||||
e_menu_item_icon_edje_set(mi,
|
||||
(char *)e_theme_edje_file_get("base/theme/fileman",
|
||||
"fileman/button/rename"),
|
||||
"fileman/button/rename");
|
||||
e_menu_item_callback_set(mi, _e_fm2_file_rename, ic);
|
||||
|
||||
man = e_manager_current_get();
|
||||
if (!man)
|
||||
{
|
||||
e_object_del(E_OBJECT(mn));
|
||||
return;
|
||||
}
|
||||
con = e_container_current_get(man);
|
||||
if (!con)
|
||||
{
|
||||
e_object_del(E_OBJECT(mn));
|
||||
return;
|
||||
}
|
||||
ecore_x_pointer_xy_get(con->win, &x, &y);
|
||||
zone = e_util_zone_current_get(man);
|
||||
if (!zone)
|
||||
{
|
||||
e_object_del(E_OBJECT(mn));
|
||||
return;
|
||||
}
|
||||
ic->menu = mn;
|
||||
e_menu_post_deactivate_callback_set(mn, _e_fm2_menu_post_cb, ic);
|
||||
e_menu_activate_mouse(mn, zone,
|
||||
x, y, 1, 1,
|
||||
E_MENU_POP_DIRECTION_DOWN, timestamp);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_menu_post_cb(void *data, E_Menu *m)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
|
||||
ic = data;
|
||||
ic->menu = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_rename(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
E_Manager *man;
|
||||
E_Container *con;
|
||||
char *old_path;
|
||||
char text[PATH_MAX + 256];
|
||||
|
||||
ic = data;
|
||||
if (ic->entry_dialog) return;
|
||||
|
||||
man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
con = e_container_current_get(man);
|
||||
if (!con) return;
|
||||
|
||||
snprintf(text, PATH_MAX + 256,
|
||||
_("Rename %s to"),
|
||||
ic->info.file);
|
||||
ic->entry_dialog = e_entry_dialog_show(_("Rename File"), "enlightenment/e",
|
||||
text, ic->info.file, NULL, NULL,
|
||||
_e_fm2_file_rename_yes_cb,
|
||||
_e_fm2_file_rename_no_cb, ic);
|
||||
E_OBJECT(ic->entry_dialog)->data = ic;
|
||||
e_object_del_attach_func_set(E_OBJECT(ic->entry_dialog), _e_fm2_file_rename_delete_cb);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_rename_delete_cb(void *obj)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
|
||||
ic = E_OBJECT(obj)->data;
|
||||
ic->entry_dialog = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_rename_yes_cb(char *text, void *data)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
E_Dialog *dialog;
|
||||
E_Manager *man;
|
||||
E_Container *con;
|
||||
char newpath[PATH_MAX];
|
||||
char oldpath[PATH_MAX];
|
||||
char error[PATH_MAX + 256];
|
||||
|
||||
ic = data;
|
||||
ic->dialog = NULL;
|
||||
if ((text) && (strcmp(text, ic->info.file)))
|
||||
{
|
||||
snprintf(newpath, PATH_MAX, "%s/%s", ic->sd->realpath, text);
|
||||
snprintf(oldpath, PATH_MAX, "%s/%s", ic->sd->realpath, ic->info.file);
|
||||
|
||||
if (!ecore_file_mv(oldpath, newpath))
|
||||
{
|
||||
man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
con = e_container_current_get(man);
|
||||
if (!con) return;
|
||||
|
||||
dialog = e_dialog_new(con);
|
||||
e_dialog_button_add(dialog, _("OK"), NULL, NULL, NULL);
|
||||
e_dialog_button_focus_num(dialog, 1);
|
||||
e_dialog_title_set(dialog, _("Error"));
|
||||
snprintf(error, PATH_MAX + 256,
|
||||
_("Could not rename from <b>%s</b> to <b>%s</b>"),
|
||||
ic->info.file, text);
|
||||
e_dialog_text_set(dialog, error);
|
||||
e_win_centered_set(dialog->win, 1);
|
||||
e_dialog_show(dialog);
|
||||
return;
|
||||
}
|
||||
e_fm2_refresh(ic->sd->obj);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_rename_no_cb(char *text, void *data)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
|
||||
ic = data;
|
||||
ic->dialog = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_delete(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
E_Manager *man;
|
||||
E_Container *con;
|
||||
E_Dialog *dialog;
|
||||
E_Fm2_Icon *ic;
|
||||
char text[PATH_MAX + 256];
|
||||
|
||||
man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
con = e_container_current_get(man);
|
||||
if (!con) return;
|
||||
|
||||
ic = data;
|
||||
if (ic->dialog) return;
|
||||
dialog = e_dialog_new(con);
|
||||
ic->dialog = dialog;
|
||||
E_OBJECT(dialog)->data = ic;
|
||||
e_object_del_attach_func_set(E_OBJECT(dialog), _e_fm2_file_delete_delete_cb);
|
||||
e_dialog_button_add(dialog, _("Yes"), NULL, _e_fm2_file_delete_yes_cb, ic);
|
||||
e_dialog_button_add(dialog, _("No"), NULL, _e_fm2_file_delete_no_cb, ic);
|
||||
e_dialog_button_focus_num(dialog, 1);
|
||||
e_dialog_title_set(dialog, _("Confirm Delete"));
|
||||
snprintf(text, PATH_MAX + 256,
|
||||
_("Are you sure you want to delete <br>"
|
||||
"<b>%s/%s</b> ?"),
|
||||
ic->sd->realpath, ic->info.file);
|
||||
e_dialog_text_set(dialog, text);
|
||||
e_win_centered_set(dialog->win, 1);
|
||||
e_dialog_show(dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_delete_delete_cb(void *obj)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
|
||||
ic = E_OBJECT(obj)->data;
|
||||
ic->dialog = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_delete_yes_cb(void *data, E_Dialog *dialog)
|
||||
{
|
||||
E_Manager *man;
|
||||
E_Container *con;
|
||||
E_Fm2_Icon *ic;
|
||||
Evas_Object *obj;
|
||||
char path[PATH_MAX];
|
||||
int ret;
|
||||
|
||||
ic = data;
|
||||
ic->dialog = NULL;
|
||||
|
||||
snprintf(path, PATH_MAX, "%s/%s", ic->sd->realpath, ic->info.file);
|
||||
|
||||
if (!(ecore_file_recursive_rm(path)))
|
||||
{
|
||||
char text[PATH_MAX + 256];
|
||||
|
||||
man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
con = e_container_current_get(man);
|
||||
if (!con) return;
|
||||
|
||||
e_object_del(E_OBJECT(dialog));
|
||||
dialog = e_dialog_new(con);
|
||||
e_dialog_button_add(dialog, _("OK"), NULL, NULL, NULL);
|
||||
e_dialog_button_focus_num(dialog, 1);
|
||||
e_dialog_title_set(dialog, _("Error"));
|
||||
snprintf(text, PATH_MAX + 256,
|
||||
_("Could not delete <br><b>%s</b>"), path);
|
||||
e_dialog_text_set(dialog, text);
|
||||
e_win_centered_set(dialog->win, 1);
|
||||
e_dialog_show(dialog);
|
||||
e_object_del(E_OBJECT(dialog));
|
||||
return;
|
||||
}
|
||||
e_object_del(E_OBJECT(dialog));
|
||||
e_fm2_refresh(ic->sd->obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_fm2_file_delete_no_cb(void *data, E_Dialog *dialog)
|
||||
{
|
||||
E_Fm2_Icon *ic;
|
||||
|
||||
ic = data;
|
||||
ic->dialog = NULL;
|
||||
e_object_del(E_OBJECT(dialog));
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ EAPI int e_fm2_shutdown(void);
|
|||
EAPI Evas_Object *e_fm2_add(Evas *evas);
|
||||
EAPI void e_fm2_path_set(Evas_Object *obj, char *dev, char *path);
|
||||
EAPI void e_fm2_path_get(Evas_Object *obj, const char **dev, const char **path);
|
||||
EAPI void e_fm2_refresh(Evas_Object *obj);
|
||||
EAPI const char *e_fm2_real_path_get(Evas_Object *obj);
|
||||
EAPI int e_fm2_has_parent_get(Evas_Object *obj);
|
||||
EAPI void e_fm2_parent_go(Evas_Object *obj);
|
||||
|
|
|
@ -22,6 +22,16 @@ struct _Import
|
|||
Evas_Object *ok_obj;
|
||||
Evas_Object *close_obj;
|
||||
|
||||
Evas_Object *fill_stretch_obj;
|
||||
Evas_Object *fill_center_obj;
|
||||
Evas_Object *fill_tile_obj;
|
||||
Evas_Object *fill_within_obj;
|
||||
Evas_Object *fill_fill_obj;
|
||||
Evas_Object *perfect_obj;
|
||||
Evas_Object *quality_obj;
|
||||
Evas_Object *frame_fill_obj;
|
||||
Evas_Object *frame_quality_obj;
|
||||
|
||||
E_Win *win;
|
||||
|
||||
Ecore_Exe *exe;
|
||||
|
@ -40,6 +50,7 @@ struct _E_Config_Dialog_Data
|
|||
|
||||
static Ecore_Event_Handler *_import_edje_cc_exit_handler = NULL;
|
||||
|
||||
static void _import_opt_disabled_set(Import *import, int disabled);
|
||||
static void _import_cb_sel_change(void *data, Evas_Object *obj);
|
||||
static void _import_edj_gen(Import *import);
|
||||
static int _import_cb_edje_cc_exit(void *data, int type, void *event);
|
||||
|
@ -129,23 +140,32 @@ e_int_config_wallpaper_import(E_Config_Dialog *parent)
|
|||
ot = e_widget_table_add(evas, 0);
|
||||
|
||||
of = e_widget_frametable_add(evas, _("Fill and Stretch Options"), 1);
|
||||
import->frame_fill_obj = of;
|
||||
rg = e_widget_radio_group_new(&cfdata->method);
|
||||
ord = e_widget_radio_icon_add(evas, _("Stretch"), "enlightenment/wallpaper_stretch", 24, 24, IMPORT_STRETCH, rg);
|
||||
import->fill_stretch_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 0, 0, 1, 1, 1, 0, 1, 0);
|
||||
ord = e_widget_radio_icon_add(evas, _("Center"), "enlightenment/wallpaper_center", 24, 24, IMPORT_CENTER, rg);
|
||||
import->fill_center_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 1, 0, 1, 1, 1, 0, 1, 0);
|
||||
ord = e_widget_radio_icon_add(evas, _("Tile"), "enlightenment/wallpaper_tile", 24, 24, IMPORT_TILE, rg);
|
||||
import->fill_tile_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 2, 0, 1, 1, 1, 0, 1, 0);
|
||||
ord = e_widget_radio_icon_add(evas, _("Within"), "enlightenment/wallpaper_scale_aspect_in", 24, 24, IMPORT_SCALE_ASPECT_IN, rg);
|
||||
import->fill_within_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 3, 0, 1, 1, 1, 0, 1, 0);
|
||||
ord = e_widget_radio_icon_add(evas, _("Fill"), "enlightenment/wallpaper_scale_aspect_out", 24, 24, IMPORT_SCALE_ASPECT_OUT, rg);
|
||||
import->fill_fill_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 4, 0, 1, 1, 1, 0, 1, 0);
|
||||
e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 0);
|
||||
|
||||
of = e_widget_frametable_add(evas, _("File Quality"), 0);
|
||||
import->frame_quality_obj = of;
|
||||
ord = e_widget_slider_add(evas, 1, 0, _("%3.0f%%"), 0.0, 100.0, 1.0, 0, &(cfdata->quality), NULL, 150);
|
||||
import->quality_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 0, 0, 1, 1, 1, 0, 1, 0);
|
||||
ord = e_widget_check_add(evas, _("Perfect"), &(cfdata->perfect));
|
||||
import->perfect_obj = ord;
|
||||
e_widget_frametable_object_append(of, ord, 1, 0, 1, 1, 0, 0, 0, 0);
|
||||
e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 1, 1, 0);
|
||||
|
||||
|
@ -180,6 +200,8 @@ e_int_config_wallpaper_import(E_Config_Dialog *parent)
|
|||
e_widget_focus_set(import->box_obj, 1);
|
||||
|
||||
win->data = import;
|
||||
|
||||
_import_opt_disabled_set(import, 1);
|
||||
return win;
|
||||
}
|
||||
|
||||
|
@ -200,18 +222,35 @@ e_int_config_wallpaper_del(E_Win *win)
|
|||
if (import) free(import);
|
||||
}
|
||||
|
||||
static void
|
||||
_import_opt_disabled_set(Import *import, int disabled)
|
||||
{
|
||||
e_widget_disabled_set(import->fill_stretch_obj, disabled);
|
||||
e_widget_disabled_set(import->fill_center_obj, disabled);
|
||||
e_widget_disabled_set(import->fill_tile_obj, disabled);
|
||||
e_widget_disabled_set(import->fill_within_obj, disabled);
|
||||
e_widget_disabled_set(import->fill_fill_obj, disabled);
|
||||
e_widget_disabled_set(import->perfect_obj, disabled);
|
||||
e_widget_disabled_set(import->quality_obj, disabled);
|
||||
e_widget_disabled_set(import->frame_fill_obj, disabled);
|
||||
e_widget_disabled_set(import->frame_quality_obj, disabled);
|
||||
}
|
||||
|
||||
static void
|
||||
_import_cb_sel_change(void *data, Evas_Object *obj)
|
||||
{
|
||||
Import *import;
|
||||
const char *path;
|
||||
const char *path, *p = NULL;
|
||||
|
||||
import = data;
|
||||
path = e_widget_fsel_selection_path_get(import->fsel_obj);
|
||||
E_FREE(import->cfdata->file);
|
||||
if (path) import->cfdata->file = strdup(path);
|
||||
/* FIXME: based on selection - disable or enable the scale options ie .edj files
|
||||
* do not use the options */
|
||||
if (path) p = strrchr(path, '.');
|
||||
if ((!p) || (!strcasecmp(p, ".edj")))
|
||||
_import_opt_disabled_set(import, 1);
|
||||
else
|
||||
_import_opt_disabled_set(import, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -219,7 +258,7 @@ _import_edj_gen(Import *import)
|
|||
{
|
||||
Evas *evas;
|
||||
Evas_Object *img;
|
||||
int fd;
|
||||
int fd, num = 1;
|
||||
int w = 0, h = 0;
|
||||
const char *file;
|
||||
char buf[4096], cmd[4096], tmpn[4096], ipart[4096], enc[128];
|
||||
|
@ -237,6 +276,11 @@ _import_edj_gen(Import *import)
|
|||
return;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "%s/.e/e/backgrounds/%s.edj", homedir, fstrip);
|
||||
while (ecore_file_exists(buf))
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "%s/.e/e/backgrounds/%s-%i.edj", homedir, fstrip, num);
|
||||
num++;
|
||||
}
|
||||
free(fstrip);
|
||||
free(homedir);
|
||||
strcpy(tmpn, "/tmp/e_bgdlg_new.edc-tmp-XXXXXX");
|
||||
|
@ -368,7 +412,12 @@ _import_cb_edje_cc_exit(void *data, int type, void *event)
|
|||
import = data;
|
||||
if (ev->exe != import->exe) return 1;
|
||||
|
||||
/* FIXME - error code - handle */
|
||||
if (ev->exit_code != 0)
|
||||
{
|
||||
e_util_dialog_show(_("Picture Import Error"),
|
||||
_("Enlightenment was unable to import the picture<br>"
|
||||
"due to conversion errors."));
|
||||
}
|
||||
|
||||
e_int_config_wallpaper_update(import->parent, import->fdest);
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ static void _e_int_menus_apps_start (void *data, E_Menu *m);
|
|||
static void _e_int_menus_apps_del_hook (void *obj);
|
||||
static void _e_int_menus_apps_free_hook (void *obj);
|
||||
static void _e_int_menus_apps_run (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_int_menus_main_fm(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void _e_int_menus_config_pre_cb (void *data, E_Menu *m);
|
||||
static void _e_int_menus_config_free_hook (void *obj);
|
||||
static void _e_int_menus_config_item_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
|
@ -385,15 +384,6 @@ _e_int_menus_main_showhide(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
if (act) act->func.go(E_OBJECT(m->zone), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_main_fm(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
E_Fileman *fileman;
|
||||
|
||||
fileman = e_fileman_new (m->zone->container);
|
||||
e_fileman_show (fileman);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_int_menus_main_restart(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
@ -632,14 +622,6 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m)
|
|||
e_util_menu_item_edje_icon_set(mi, "enlightenment/e");
|
||||
e_menu_item_callback_set(mi, _e_int_menus_eapedit_item_cb, NULL);
|
||||
|
||||
mi = e_menu_item_new(m);
|
||||
e_menu_item_separator_set(mi, 1);
|
||||
|
||||
mi = e_menu_item_new(m);
|
||||
e_menu_item_label_set(mi, _("Test Filemanager"));
|
||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/fileman");
|
||||
e_menu_item_callback_set(mi, _e_int_menus_main_fm, NULL);
|
||||
|
||||
l = evas_hash_find(_e_int_menus_augmentation, "config");
|
||||
if (l)
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@ struct _E_Widget_Data
|
|||
};
|
||||
|
||||
static void _e_wid_del_hook(Evas_Object *obj);
|
||||
static void _e_wid_disable_hook(Evas_Object *obj);
|
||||
|
||||
/* local subsystem functions */
|
||||
|
||||
|
@ -24,6 +25,7 @@ e_widget_framelist_add(Evas *evas, char *label, int horiz)
|
|||
obj = e_widget_add(evas);
|
||||
|
||||
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
||||
e_widget_disable_hook_set(obj, _e_wid_disable_hook);
|
||||
wd = calloc(1, sizeof(E_Widget_Data));
|
||||
e_widget_data_set(obj, wd);
|
||||
|
||||
|
@ -94,3 +96,15 @@ _e_wid_del_hook(Evas_Object *obj)
|
|||
wd = e_widget_data_get(obj);
|
||||
free(wd);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_wid_disable_hook(Evas_Object *obj)
|
||||
{
|
||||
E_Widget_Data *wd;
|
||||
|
||||
wd = e_widget_data_get(obj);
|
||||
if (e_widget_disabled_get(obj))
|
||||
edje_object_signal_emit(wd->o_frame, "disabled", "");
|
||||
else
|
||||
edje_object_signal_emit(wd->o_frame, "enabled", "");
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ struct _E_Widget_Data
|
|||
};
|
||||
|
||||
static void _e_wid_del_hook(Evas_Object *obj);
|
||||
static void _e_wid_disable_hook(Evas_Object *obj);
|
||||
|
||||
/* local subsystem functions */
|
||||
|
||||
|
@ -24,6 +25,7 @@ e_widget_frametable_add(Evas *evas, char *label, int homogenous)
|
|||
obj = e_widget_add(evas);
|
||||
|
||||
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
||||
e_widget_disable_hook_set(obj, _e_wid_disable_hook);
|
||||
wd = calloc(1, sizeof(E_Widget_Data));
|
||||
e_widget_data_set(obj, wd);
|
||||
|
||||
|
@ -83,3 +85,15 @@ _e_wid_del_hook(Evas_Object *obj)
|
|||
wd = e_widget_data_get(obj);
|
||||
free(wd);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_wid_disable_hook(Evas_Object *obj)
|
||||
{
|
||||
E_Widget_Data *wd;
|
||||
|
||||
wd = e_widget_data_get(obj);
|
||||
if (e_widget_disabled_get(obj))
|
||||
edje_object_signal_emit(wd->o_frame, "disabled", "");
|
||||
else
|
||||
edje_object_signal_emit(wd->o_frame, "enabled", "");
|
||||
}
|
||||
|
|
|
@ -255,7 +255,7 @@ e_widget_fsel_add(Evas *evas, char *dev, char *path, char *selected, char *filte
|
|||
fmc.icon.list.h = 24;
|
||||
fmc.icon.fixed.w = 1;
|
||||
fmc.icon.fixed.h = 1;
|
||||
fmc.icon.extension.show = 0;
|
||||
fmc.icon.extension.show = 1;
|
||||
fmc.list.sort.no_case = 1;
|
||||
fmc.list.sort.dirs.first = 1;
|
||||
fmc.list.sort.dirs.last = 0;
|
||||
|
|
|
@ -15,6 +15,7 @@ static void _e_wid_del_hook(Evas_Object *obj);
|
|||
static void _e_wid_focus_hook(Evas_Object *obj);
|
||||
static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||
static void _e_wid_cb_changed(void *data, Evas_Object *obj, void *event_info);
|
||||
static void _e_wid_disable_hook(Evas_Object *obj);
|
||||
|
||||
/* externally accessible functions */
|
||||
EAPI Evas_Object *
|
||||
|
@ -28,6 +29,7 @@ e_widget_slider_add(Evas *evas, int horiz, int rev, char *fmt, double min, doubl
|
|||
|
||||
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
||||
e_widget_focus_hook_set(obj, _e_wid_focus_hook);
|
||||
e_widget_disable_hook_set(obj, _e_wid_disable_hook);
|
||||
wd = calloc(1, sizeof(E_Widget_Data));
|
||||
e_widget_data_set(obj, wd);
|
||||
wd->o_widget = obj;
|
||||
|
@ -189,3 +191,17 @@ _e_wid_cb_changed(void *data, Evas_Object *obj, void *event_info)
|
|||
else if (wd->ival) *(wd->ival) = e_slider_value_get(wd->o_slider);
|
||||
e_widget_change(wd->o_widget);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_wid_disable_hook(Evas_Object *obj)
|
||||
{
|
||||
E_Widget_Data *wd;
|
||||
|
||||
wd = e_widget_data_get(obj);
|
||||
if (e_widget_disabled_get(obj))
|
||||
edje_object_signal_emit(e_slider_edje_object_get(wd->o_slider),
|
||||
"disabled", "");
|
||||
else
|
||||
edje_object_signal_emit(e_slider_edje_object_get(wd->o_slider),
|
||||
"enabled", "");
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ _cb_add(void *data, void *data2)
|
|||
|
||||
cfdata = data;
|
||||
e_entry_dialog_show(_("Create new ibar source"), "enlightenment/e",
|
||||
_("Enter a name for this new source"), NULL, NULL,
|
||||
_("Enter a name for this new source"), "", NULL, NULL,
|
||||
_cb_entry_ok, NULL, cfdata);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue