1 package SL::Helper::UserPreferences::DisplayPreferences;
4 use parent qw(Rose::Object);
6 use SL::Helper::UserPreferences;
8 use Rose::Object::MakeMethods::Generic (
9 'scalar --get_set_init' => [ qw(user_prefs) ],
12 sub get_longdescription_dialog_size_percentage {
13 $_[0]->user_prefs->get('longdescription_dialog_size_percentage');
16 sub store_longdescription_dialog_size_percentage {
17 $_[0]->user_prefs->store('longdescription_dialog_size_percentage', $_[1]);
20 sub get_layout_style {
21 my $value = $_[0]->user_prefs->get('layout_style');
22 $value //= $::instance_conf->get_layout_style;
26 sub store_layout_style {
27 my ($self, $style) = @_;
30 $self->user_prefs->delete('layout_style');
34 if ( !($style eq 'desktop' || $style eq 'mobile' || $style eq 'auto') ) {
35 die "unknown layout style '$style'";
38 $self->user_prefs->store('layout_style', $style);
42 SL::Helper::UserPreferences->new(
43 namespace => $_[0]->namespace,
48 sub namespace { 'DisplayPreferences' }
61 SL::Helper::UserPreferences::DisplayPreferences - preferences intended
62 to store user settings for various display settings.
66 use SL::Helper::UserPreferences::DisplayPreferences;
67 my $prefs = SL::Helper::UserPreferences::DisplayPreferences->new();
69 $prefs->store_longdescription_dialog_size_percentage(25);
70 my $value = $prefs->get_longdescription_dialog_size_percentage;
74 This module manages storing the user's choise for settings for
75 various display settings.
77 =head2 These settings are supported:
81 =item longdescription_dialog_size_percentage
83 The preferred procentual size of the edit-dialog for longdescriptions
84 of positions can be stored.
88 Here the layout style can be forced to be 'desktop' or 'mobile'
89 regardless of the user agend string. If this user setting is unset
90 then the setting from the client configuration will be used.
100 Bernd Bleßmann E<lt>bernd@kivitendo-premium.deE<gt>