Places:
* new config option to mount devices on startup * open-on-insert option depend on mount-on-insert, disable the checkbox accordly SVN revision: 74459
This commit is contained in:
parent
1074da1961
commit
195eb7b069
|
@ -6,6 +6,7 @@
|
||||||
struct _E_Config_Dialog_Data
|
struct _E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
int auto_mount;
|
int auto_mount;
|
||||||
|
int boot_mount;
|
||||||
int auto_open;
|
int auto_open;
|
||||||
char *fm;
|
char *fm;
|
||||||
int fm_chk;
|
int fm_chk;
|
||||||
|
@ -80,6 +81,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
/* load a temp copy of the config variables */
|
/* load a temp copy of the config variables */
|
||||||
cfdata->auto_mount = places_conf->auto_mount;
|
cfdata->auto_mount = places_conf->auto_mount;
|
||||||
|
cfdata->boot_mount = places_conf->boot_mount;
|
||||||
cfdata->auto_open = places_conf->auto_open;
|
cfdata->auto_open = places_conf->auto_open;
|
||||||
|
|
||||||
cfdata->show_menu = places_conf->show_menu;
|
cfdata->show_menu = places_conf->show_menu;
|
||||||
|
@ -110,10 +112,23 @@ void _custom_fm_click(void *data, Evas_Object *obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _mount_on_insert_click(void *data, Evas_Object *obj)
|
||||||
|
{
|
||||||
|
Evas_Object *ow = data;
|
||||||
|
|
||||||
|
if (e_widget_check_checked_get(obj))
|
||||||
|
e_widget_disabled_set(ow, 0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
e_widget_check_checked_set(ow, 0);
|
||||||
|
e_widget_disabled_set(ow, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
Evas_Object *o = NULL, *of = NULL, *ow = NULL;
|
Evas_Object *o = NULL, *of = NULL, *ow = NULL, *ow1 = NULL;
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
|
@ -129,13 +144,20 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
&(cfdata->hide_header));
|
&(cfdata->hide_header));
|
||||||
e_widget_framelist_object_append(of, ow);
|
e_widget_framelist_object_append(of, ow);
|
||||||
|
|
||||||
ow = e_widget_check_add(evas, D_("Mount volumes on insert"),
|
ow = e_widget_check_add(evas, D_("Mount volumes at boot"),
|
||||||
&(cfdata->auto_mount));
|
&(cfdata->boot_mount));
|
||||||
e_widget_framelist_object_append(of, ow);
|
e_widget_framelist_object_append(of, ow);
|
||||||
|
|
||||||
|
ow1 = e_widget_check_add(evas, D_("Mount volumes on insert"),
|
||||||
|
&(cfdata->auto_mount));
|
||||||
|
e_widget_framelist_object_append(of, ow1);
|
||||||
|
|
||||||
ow = e_widget_check_add(evas, D_("Open filemanager on insert"),
|
ow = e_widget_check_add(evas, D_("Open filemanager on insert"),
|
||||||
&(cfdata->auto_open));
|
&(cfdata->auto_open));
|
||||||
e_widget_framelist_object_append(of, ow);
|
e_widget_framelist_object_append(of, ow);
|
||||||
|
e_widget_on_change_hook_set(ow1, _mount_on_insert_click, ow);
|
||||||
|
if (!cfdata->auto_mount)
|
||||||
|
e_widget_disabled_set(ow, 1);
|
||||||
|
|
||||||
ow = e_widget_check_add(evas, D_("Use a custom file manager"), &(cfdata->fm_chk));
|
ow = e_widget_check_add(evas, D_("Use a custom file manager"), &(cfdata->fm_chk));
|
||||||
e_widget_check_checked_set(ow, strlen(cfdata->fm) > 0 ? 1 : 0);
|
e_widget_check_checked_set(ow, strlen(cfdata->fm) > 0 ? 1 : 0);
|
||||||
|
@ -182,6 +204,7 @@ _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
places_conf->show_menu = cfdata->show_menu;
|
places_conf->show_menu = cfdata->show_menu;
|
||||||
places_conf->hide_header = cfdata->hide_header;
|
places_conf->hide_header = cfdata->hide_header;
|
||||||
places_conf->auto_mount = cfdata->auto_mount;
|
places_conf->auto_mount = cfdata->auto_mount;
|
||||||
|
places_conf->boot_mount = cfdata->boot_mount;
|
||||||
places_conf->auto_open = cfdata->auto_open;
|
places_conf->auto_open = cfdata->auto_open;
|
||||||
places_conf->show_home = cfdata->show_home;
|
places_conf->show_home = cfdata->show_home;
|
||||||
places_conf->show_desk = cfdata->show_desk;
|
places_conf->show_desk = cfdata->show_desk;
|
||||||
|
|
|
@ -78,6 +78,7 @@ e_modapi_init(E_Module *m)
|
||||||
E_CONFIG_VAL(D, T, version, INT);
|
E_CONFIG_VAL(D, T, version, INT);
|
||||||
E_CONFIG_VAL(D, T, fm, STR);
|
E_CONFIG_VAL(D, T, fm, STR);
|
||||||
E_CONFIG_VAL(D, T, auto_mount, UCHAR);
|
E_CONFIG_VAL(D, T, auto_mount, UCHAR);
|
||||||
|
E_CONFIG_VAL(D, T, boot_mount, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, auto_open, UCHAR);
|
E_CONFIG_VAL(D, T, auto_open, UCHAR);
|
||||||
E_CONFIG_LIST(D, T, conf_items, conf_item_edd);
|
E_CONFIG_LIST(D, T, conf_items, conf_item_edd);
|
||||||
E_CONFIG_VAL(D, T, show_menu, UCHAR);
|
E_CONFIG_VAL(D, T, show_menu, UCHAR);
|
||||||
|
|
|
@ -29,6 +29,7 @@ struct _Config
|
||||||
|
|
||||||
const char *fm;
|
const char *fm;
|
||||||
unsigned char auto_mount;
|
unsigned char auto_mount;
|
||||||
|
unsigned char boot_mount;
|
||||||
unsigned char auto_open;
|
unsigned char auto_open;
|
||||||
unsigned char show_menu;
|
unsigned char show_menu;
|
||||||
unsigned char hide_header;
|
unsigned char hide_header;
|
||||||
|
|
|
@ -94,7 +94,8 @@ places_volume_add(const char *id, Eina_Bool first_time)
|
||||||
v->drive_type = "";
|
v->drive_type = "";
|
||||||
v->model = "";
|
v->model = "";
|
||||||
v->bus = "";
|
v->bus = "";
|
||||||
v->to_mount = (places_conf->auto_mount && !first_time);
|
v->to_mount = ((places_conf->auto_mount && !first_time) ||
|
||||||
|
(first_time && places_conf->boot_mount));
|
||||||
v->force_open = (places_conf->auto_open && !first_time);
|
v->force_open = (places_conf->auto_open && !first_time);
|
||||||
|
|
||||||
volumes = eina_list_append(volumes, v);
|
volumes = eina_list_append(volumes, v);
|
||||||
|
@ -397,7 +398,7 @@ places_volume_mount(Volume *vol)
|
||||||
Eina_List *opts = NULL;
|
Eina_List *opts = NULL;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
||||||
if (!vol || !vol->mount_func)
|
if (!vol || !vol->mount_func || vol->mounted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ((!strcmp(vol->fstype, "vfat")) || (!strcmp(vol->fstype, "ntfs")))
|
if ((!strcmp(vol->fstype, "vfat")) || (!strcmp(vol->fstype, "ntfs")))
|
||||||
|
|
Loading…
Reference in New Issue