Skip to content

Commit

Permalink
glw: Make it possible to adjust screen saver per-image duration
Browse files Browse the repository at this point in the history
Fixes #3080
  • Loading branch information
andoma committed Apr 13, 2016
1 parent 3305fc0 commit 04063f4
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 1 deletion.
6 changes: 5 additions & 1 deletion glwskins/flat/screensaver.view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
widget(slideshow, {
alpha: $ui.screenSaverAlpha;

time: 15;
time: $core.glw.screensaver.imageDuration;
transitionTime: 2;

cloner($core.glw.screensaver.items, container_z, {
Expand All @@ -11,6 +11,10 @@ widget(slideshow, {
source: $self.url;
});

label({
caption: $core.glw.screensaver.imageDuration;
});

underscan({
hidden: isVoid($self.info);
vbox({
Expand Down
14 changes: 14 additions & 0 deletions src/ui/glw/glw_settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,19 @@ glw_settings_init(void)
SETTING_MUTEX(&screensaver_mutex),
NULL);

prop_t *id = prop_create_multi(prop_get_global(), "glw", "screensaver",
"imageDuration", NULL);

glw_settings.gs_setting_per_image_timeout =
setting_create(SETTING_INT, s, SETTINGS_INITIAL_UPDATE,
SETTING_TITLE(_p("Seconds per image")),
SETTING_WRITE_PROP(id),
SETTING_VALUE(15),
SETTING_RANGE(5, 60),
SETTING_STORE("glw", "screensaverimageduration"),
NULL);
prop_ref_dec(id);

prop_t *p = prop_create(prop_get_global(), "glw");
p = prop_create(p, "osk");
kv_prop_bind_create(p, "showtime:glw:osk");
Expand All @@ -449,6 +462,7 @@ glw_settings_fini(void)
{
setting_destroy(glw_settings.gs_setting_user_images);
setting_destroy(glw_settings.gs_setting_screensaver_timer);
setting_destroy(glw_settings.gs_setting_per_image_timeout);
setting_destroy(glw_settings.gs_setting_bing_image);
setting_destroy(glw_settings.gs_setting_underscan_v);
setting_destroy(glw_settings.gs_setting_underscan_h);
Expand Down
1 change: 1 addition & 0 deletions src/ui/glw/glw_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ typedef struct glw_settings {
struct setting *gs_setting_screensaver_timer;
struct setting *gs_setting_bing_image;
struct setting *gs_setting_user_images;
struct setting *gs_setting_per_image_timeout;

struct prop *gs_settings;

Expand Down

0 comments on commit 04063f4

Please sign in to comment.