add teamwork option to disable videos

This commit is contained in:
Mike Blumenkrantz 2013-06-18 08:05:02 +01:00
parent fdac76d0d0
commit d3046a0b3f
4 changed files with 16 additions and 1 deletions

View File

@ -3,6 +3,7 @@
struct _E_Config_Dialog_Data
{
int disable_media_fetch;
int disable_video;
double allowed_media_size;
double allowed_media_fetch_size;
double allowed_media_age;
@ -21,6 +22,7 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED)
#define SET(X) \
cfdata->X = tw_config->X
SET(disable_media_fetch);
SET(disable_video);
SET(allowed_media_size);
SET(allowed_media_fetch_size);
SET(allowed_media_age);
@ -46,6 +48,7 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd
if (cfdata->X != tw_config->X) return 1
CHECK(disable_media_fetch);
CHECK(disable_video);
if (lround(cfdata->allowed_media_age) != tw_config->allowed_media_age) return 1;
if (lround(cfdata->allowed_media_size) != tw_config->allowed_media_size) return 1;
if (lround(cfdata->allowed_media_fetch_size) != tw_config->allowed_media_fetch_size) return 1;
@ -97,6 +100,9 @@ _basic_create_widgets(E_Config_Dialog *cfd EINA_UNUSED,
ol = e_widget_list_add(evas, 0, 0);
ob = e_widget_check_add(evas, _("Disable video previews"), &cfdata->disable_video);
e_widget_list_object_append(ol, ob, 1, 0, 0.5);
ob = e_widget_label_add(evas, _("Mouse-out hide delay"));
e_widget_list_object_append(ol, ob, 1, 1, 0.5);
ob = e_widget_slider_add(evas, 1, 0, _("%1.1f seconds"), 0, 5, 0.5, 0, &cfdata->mouse_out_delay, NULL, 150);
@ -126,6 +132,7 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED,
#define SET(X) tw_config->X = cfdata->X
SET(disable_media_fetch);
SET(disable_video);
SET(allowed_media_size);
SET(allowed_media_fetch_size);
SET(allowed_media_age);

View File

@ -81,6 +81,7 @@ e_tw_config_dd_new(void)
#define D conf_edd
E_CONFIG_VAL(D, T, config_version, UINT);
E_CONFIG_VAL(D, T, disable_media_fetch, UCHAR);
E_CONFIG_VAL(D, T, disable_video, UCHAR);
E_CONFIG_VAL(D, T, allowed_media_size, LL);
E_CONFIG_VAL(D, T, allowed_media_fetch_size, LL);
E_CONFIG_VAL(D, T, allowed_media_age, INT);
@ -153,6 +154,7 @@ e_modapi_init(E_Module *m)
co->info = eina_stringshare_add("applications/teamwork");
E_CONFIGURE_OPTION_ICON(co, buf);
E_CONFIGURE_OPTION_ADD(co, BOOL, disable_media_fetch, tw_config, _("Disable Teamwork remote media fetching"), _("teamwork"));
E_CONFIGURE_OPTION_ADD(co, BOOL, disable_video, tw_config, _("Disable Teamwork video popups"), _("teamwork"));
E_CONFIGURE_OPTION_ADD(co, DOUBLE, allowed_media_size, tw_config, _("Maximum total size of Teamwork media to keep in RAM"), _("teamwork"), _("cache"));
E_CONFIGURE_OPTION_MINMAX_STEP_FMT(co, 0, 1024, 16, _("%4.0f MiB"));
E_CONFIGURE_OPTION_ADD(co, DOUBLE, allowed_media_size, tw_config, _("Maximum size of remote media items to fetch with Teamwork"), _("teamwork"), _("cache"));

View File

@ -18,6 +18,7 @@ typedef struct Teamwork_Config
unsigned int config_version;
Eina_Bool disable_media_fetch;
Eina_Bool disable_video;
long long int allowed_media_size;
long long int allowed_media_fetch_size;
int allowed_media_age;

View File

@ -954,6 +954,7 @@ tw_show(Media *i)
char buf[PATH_MAX];
const char *tmp;
if (tw_config->disable_video) return;
tmp = getenv("XDG_RUNTIME_DIR");
if (!tmp) tmp = "/tmp";
snprintf(buf, sizeof(buf), "%s/teamwork-%s-XXXXXX", tmp, ecore_file_file_get(i->addr));
@ -1027,7 +1028,11 @@ tw_show_local_file(const char *uri)
#ifdef HAVE_EMOTION
video = emotion_object_extension_may_play_get(uri);
#endif
if (!video)
if (video)
{
if (tw_config->disable_video) return;
}
else
{
if (!evas_object_image_extension_can_load_get(uri)) return;
}