components/desktop/xscreensaver/patches/0007-passwdTimeout-pref.patch
changeset 7818 c93a988b3522
parent 5561 0416d82f7f55
equal deleted inserted replaced
7815:bfb6aad28778 7818:c93a988b3522
     1 From 37f1a55c40ce9aaf136f1512068b04f6a5c36d48 Mon Sep 17 00:00:00 2001
     1 From 27b30da105ba07182ba7bea9aee62deaad39f74d Mon Sep 17 00:00:00 2001
     2 From: Alan Coopersmith <[email protected]>
     2 From: Alan Coopersmith <[email protected]>
     3 Date: Sat, 2 Jan 2016 22:02:23 -0800
     3 Date: Sat, 2 Jan 2016 22:02:23 -0800
     4 Subject: [PATCH] passwdTimeout pref
     4 Subject: [PATCH] passwdTimeout pref
     5 
     5 
     6 Bug 15220000 SUNBT5077981 There should be an option to extend/disable lockout
     6 Bug 15220000 SUNBT5077981 There should be an option to extend/disable lockout
     9 
     9 
    10 Bug 15231258 SUNBT6176524 passwdTimeoutEnable for disabled user
    10 Bug 15231258 SUNBT6176524 passwdTimeoutEnable for disabled user
    11 
    11 
    12 Upstream status unknown.
    12 Upstream status unknown.
    13 ---
    13 ---
    14  driver/XScreenSaver.ad.in          |  1 +
    14  driver/XScreenSaver.ad.in      |   1 +
    15  driver/demo-Gtk.c                  | 13 +++++
    15  driver/demo-Gtk.c              |  13 ++++++
    16  driver/lock.c                      |  8 ++++
    16  driver/lock.c                  |   8 ++++
    17  driver/prefs.c                     |  6 +++
    17  driver/prefs.c                 |   6 +++
    18  driver/types.h                     |  2 +
    18  driver/types.h                 |   2 +
    19  driver/xscreensaver-demo.glade2.in | 98 +++++++++++++++++++++++++++++++++++++-
    19  driver/xscreensaver-demo.ui.in | 103 ++++++++++++++++++++++++++++++++++++++++-
    20  6 files changed, 127 insertions(+), 1 deletion(-)
    20  6 files changed, 131 insertions(+), 2 deletions(-)
    21 
    21 
    22 diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in
    22 diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in
    23 index 3e1ff8a..0a0ccf8 100644
    23 index 3e1ff8a..0a0ccf8 100644
    24 --- a/driver/XScreenSaver.ad.in
    24 --- a/driver/XScreenSaver.ad.in
    25 +++ b/driver/XScreenSaver.ad.in
    25 +++ b/driver/XScreenSaver.ad.in
    30 +*passwdTimeoutEnabled:	True
    30 +*passwdTimeoutEnabled:	True
    31  *dpmsEnabled:		True
    31  *dpmsEnabled:		True
    32  *dpmsQuickoffEnabled:	False
    32  *dpmsQuickoffEnabled:	False
    33  *dpmsStandby:		0:10:00
    33  *dpmsStandby:		0:10:00
    34 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
    34 diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c
    35 index d4cc4a5..3d86087 100644
    35 index f6f9c19..e78c3ed 100644
    36 --- a/driver/demo-Gtk.c
    36 --- a/driver/demo-Gtk.c
    37 +++ b/driver/demo-Gtk.c
    37 +++ b/driver/demo-Gtk.c
    38 @@ -1566,6 +1566,8 @@ flush_dialog_changes_and_save (state *s)
    38 @@ -1576,6 +1576,8 @@ flush_dialog_changes_and_save (state *s)
    39  
    39  
    40    MINUTES  (&p2->timeout,         "timeout_spinbutton");
    40    MINUTES  (&p2->timeout,         "timeout_spinbutton");
    41    MINUTES  (&p2->cycle,           "cycle_spinbutton");
    41    MINUTES  (&p2->cycle,           "cycle_spinbutton");
    42 +  CHECKBOX (p2->unlock_timeout_p, "pwd_button");	/* bugid 5077981 */
    42 +  CHECKBOX (p2->unlock_timeout_p, "pwd_button");	/* bugid 5077981 */
    43 +  MINUTES  (&p2->passwd_timeout,  "pwd_spinbutton");
    43 +  MINUTES  (&p2->passwd_timeout,  "pwd_spinbutton");
    44    CHECKBOX (p2->lock_p,           "lock_button");
    44    CHECKBOX (p2->lock_p,           "lock_button");
    45    MINUTES  (&p2->lock_timeout,    "lock_spinbutton");
    45    MINUTES  (&p2->lock_timeout,    "lock_spinbutton");
    46  
    46  
    47 @@ -1670,6 +1672,8 @@ flush_dialog_changes_and_save (state *s)
    47 @@ -1677,6 +1679,8 @@ flush_dialog_changes_and_save (state *s)
    48    COPY(cycle,          "cycle");
    48    COPY(cycle,          "cycle");
    49    COPY(lock_p,         "lock_p");
    49    COPY(lock_p,         "lock_p");
    50    COPY(lock_timeout,   "lock_timeout");
    50    COPY(lock_timeout,   "lock_timeout");
    51 +  COPY(unlock_timeout_p,"unlock_timeout_p");		/* bugid 5077981 */
    51 +  COPY(unlock_timeout_p,"unlock_timeout_p");		/* bugid 5077981 */
    52 +  COPY(passwd_timeout, "passwd_timeout");
    52 +  COPY(passwd_timeout, "passwd_timeout");
    53  
    53  
    54    COPY(dpms_enabled_p,  "dpms_enabled_p");
    54    COPY(dpms_enabled_p,  "dpms_enabled_p");
    55    COPY(dpms_quickoff_p, "dpms_quickoff_enabled_p");
    55    COPY(dpms_quickoff_p, "dpms_quickoff_enabled_p");
    56 @@ -2802,6 +2806,9 @@ populate_prefs_page (state *s)
    56 @@ -2797,6 +2801,9 @@ populate_prefs_page (state *s)
    57    FMT_MINUTES ("timeout_spinbutton",      p->timeout);
    57    FMT_MINUTES ("timeout_spinbutton",      p->timeout);
    58    FMT_MINUTES ("cycle_spinbutton",        p->cycle);
    58    FMT_MINUTES ("cycle_spinbutton",        p->cycle);
    59    FMT_MINUTES ("lock_spinbutton",         p->lock_timeout);
    59    FMT_MINUTES ("lock_spinbutton",         p->lock_timeout);
    60 +  /* bugid 5077981 */
    60 +  /* bugid 5077981 */
    61 +  FMT_MINUTES ("pwd_spinbutton",          p->passwd_timeout);
    61 +  FMT_MINUTES ("pwd_spinbutton",          p->passwd_timeout);
    62 +
    62 +
    63    FMT_MINUTES ("dpms_standby_spinbutton", p->dpms_standby);
    63    FMT_MINUTES ("dpms_standby_spinbutton", p->dpms_standby);
    64    FMT_MINUTES ("dpms_suspend_spinbutton", p->dpms_suspend);
    64    FMT_MINUTES ("dpms_suspend_spinbutton", p->dpms_suspend);
    65    FMT_MINUTES ("dpms_off_spinbutton",     p->dpms_off);
    65    FMT_MINUTES ("dpms_off_spinbutton",     p->dpms_off);
    66 @@ -2814,6 +2821,7 @@ populate_prefs_page (state *s)
    66 @@ -2809,6 +2816,7 @@ populate_prefs_page (state *s)
    67    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (name_to_widget (s,(NAME))),\
    67    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (name_to_widget (s,(NAME))),\
    68                                  (ACTIVEP))
    68                                  (ACTIVEP))
    69  
    69  
    70 +  TOGGLE_ACTIVE ("pwd_button",	      p->unlock_timeout_p); /* bugid 5077981 */
    70 +  TOGGLE_ACTIVE ("pwd_button",	      p->unlock_timeout_p); /* bugid 5077981 */
    71    TOGGLE_ACTIVE ("lock_button",       p->lock_p);
    71    TOGGLE_ACTIVE ("lock_button",       p->lock_p);
    72  #if 0
    72  #if 0
    73    TOGGLE_ACTIVE ("verbose_button",    p->verbose_p);
    73    TOGGLE_ACTIVE ("verbose_button",    p->verbose_p);
    74 @@ -2919,6 +2927,10 @@ populate_prefs_page (state *s)
    74 @@ -2914,6 +2922,10 @@ populate_prefs_page (state *s)
    75  
    75  
    76      /* Blanking and Locking
    76      /* Blanking and Locking
    77       */
    77       */
    78 +    /* bugid 5077081 */
    78 +    /* bugid 5077081 */
    79 +    SENSITIZE ("pwd_spinbutton", p->unlock_timeout_p);
    79 +    SENSITIZE ("pwd_spinbutton", p->unlock_timeout_p);
    80 +    SENSITIZE ("pwd_mlabel",     p->unlock_timeout_p);
    80 +    SENSITIZE ("pwd_mlabel",     p->unlock_timeout_p);
    81 +
    81 +
    82      SENSITIZE ("lock_button",     can_lock_p);
    82      SENSITIZE ("lock_button",     can_lock_p);
    83      SENSITIZE ("lock_spinbutton", can_lock_p && p->lock_p);
    83      SENSITIZE ("lock_spinbutton", can_lock_p && p->lock_p);
    84      SENSITIZE ("lock_mlabel",     can_lock_p && p->lock_p);
    84      SENSITIZE ("lock_mlabel",     can_lock_p && p->lock_p);
    85 @@ -3093,6 +3105,7 @@ fix_text_entry_sizes (state *s)
    85 @@ -3089,6 +3101,7 @@ fix_text_entry_sizes (state *s)
    86  # if 0   /* appears no longer necessary with Gtk 1.2.10 */
    86  # if 0   /* appears no longer necessary with Gtk 1.2.10 */
    87    const char * const spinbuttons[] = {
    87    const char * const spinbuttons[] = {
    88      "timeout_spinbutton", "cycle_spinbutton", "lock_spinbutton",
    88      "timeout_spinbutton", "cycle_spinbutton", "lock_spinbutton",
    89 +    "pwd_spinbutton", /* bugid 5077981 */
    89 +    "pwd_spinbutton", /* bugid 5077981 */
    90      "dpms_standby_spinbutton", "dpms_suspend_spinbutton",
    90      "dpms_standby_spinbutton", "dpms_suspend_spinbutton",
    91      "dpms_off_spinbutton",
    91      "dpms_off_spinbutton",
    92      "-fade_spinbutton" };
    92      "-fade_spinbutton" };
    93 diff --git a/driver/lock.c b/driver/lock.c
    93 diff --git a/driver/lock.c b/driver/lock.c
    94 index becf85b..08f0f98 100644
    94 index a4114e2..abf86c0 100644
    95 --- a/driver/lock.c
    95 --- a/driver/lock.c
    96 +++ b/driver/lock.c
    96 +++ b/driver/lock.c
    97 @@ -1651,6 +1651,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio)
    97 @@ -1651,6 +1651,10 @@ update_passwd_window (saver_info *si, const char *printed_passwd, float ratio)
    98        event.xclient.data.l[1] = 0;
    98        event.xclient.data.l[1] = 0;
    99        event.xclient.data.l[2] = 0;
    99        event.xclient.data.l[2] = 0;
   158 +  Bool unlock_timeout_p;	/* whether to timeout unlock dialog */
   158 +  Bool unlock_timeout_p;	/* whether to timeout unlock dialog */
   159 +                                /* bugid 5077981 */
   159 +                                /* bugid 5077981 */
   160  
   160  
   161    Bool fade_p;			/* whether to fade to black, if possible */
   161    Bool fade_p;			/* whether to fade to black, if possible */
   162    Bool unfade_p;		/* whether to fade from black, if possible */
   162    Bool unfade_p;		/* whether to fade from black, if possible */
   163 diff --git a/driver/xscreensaver-demo.glade2.in b/driver/xscreensaver-demo.glade2.in
   163 diff --git a/driver/xscreensaver-demo.ui.in b/driver/xscreensaver-demo.ui.in
   164 index 40e47f6..a7a06a6 100644
   164 index c04a331..2281859 100644
   165 --- a/driver/xscreensaver-demo.glade2.in
   165 --- a/driver/xscreensaver-demo.ui.in
   166 +++ b/driver/xscreensaver-demo.glade2.in
   166 +++ b/driver/xscreensaver-demo.ui.in
   167 @@ -165,7 +165,7 @@
   167 @@ -57,6 +57,14 @@
   168  		  <child>
   168      <property name="page_size">0</property>
   169  		    <widget class="GtkTable" id="blanking_table">
   169      <property name="value">0</property>
   170  		      <property name="visible">True</property>
   170    </object>
   171 -		      <property name="n_rows">3</property>
   171 +  <object class="GtkAdjustment" id="adjustment8">
   172 +		      <property name="n_rows">4</property>
   172 +    <property name="upper">720</property>
   173  		      <property name="n_columns">4</property>
   173 +    <property name="lower">0</property>
   174  		      <property name="homogeneous">False</property>
   174 +    <property name="page_increment">15</property>
   175  		      <property name="row_spacing">2</property>
   175 +    <property name="step_increment">1</property>
   176 @@ -466,6 +466,102 @@
   176 +    <property name="page_size">0</property>
   177  			  <property name="y_options"></property>
   177 +    <property name="value">0</property>
   178  			</packing>
   178 +  </object>
   179  		      </child>
   179    <object class="GtkListStore" id="mode_menu_model">
   180 +
   180      <columns>
   181 +		      <child>
   181        <column type="gchararray"/>
   182 +			<widget class="GtkSpinButton" id="pwd_spinbutton">
   182 @@ -268,7 +276,7 @@
   183 +			  <property name="visible">True</property>
   183                      <child>
   184 +			  <property name="tooltip" translatable="yes">How long the unlock dialog waits for input before disappearing.</property>
   184                        <object class="GtkTable" id="blanking_table">
   185 +			  <property name="can_focus">True</property>
   185                          <property name="visible">True</property>
   186 +			  <property name="climb_rate">15</property>
   186 -                        <property name="n_rows">3</property>
   187 +			  <property name="digits">0</property>
   187 +                        <property name="n_rows">4</property>
   188 +			  <property name="numeric">True</property>
   188                          <property name="n_columns">4</property>
   189 +			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
   189                          <property name="homogeneous">False</property>
   190 +			  <property name="snap_to_ticks">True</property>
   190                          <property name="row_spacing">2</property>
   191 +			  <property name="wrap">False</property>
   191 @@ -409,7 +417,7 @@
   192 +			  <property name="adjustment">0 0 720 1 15 15</property>
   192                              <property name="right_attach">3</property>
   193 +			  <accessibility>
   193                              <property name="top_attach">2</property>
   194 +			    <atkrelation target="pwd_button" type="controlled-by"/>
   194                              <property name="bottom_attach">3</property>
   195 +			    <atkrelation target="pwd_button" type="labelled-by"/>
   195 -                            <property name="y_padding">10</property>
   196 +			    <atkrelation target="pwd_mlabel" type="labelled-by"/>
   196 +                            <property name="y_padding">0</property>
   197 +			  </accessibility>
   197                              <property name="x_options">fill</property>
   198 +			  <signal name="activate" handler="pref_changed_cb"/>
   198                              <property name="y_options"/>
   199 +			  <signal name="focus_out_event" handler="pref_changed_event_cb"/>
   199                            </packing>
   200 +			  <signal name="value_changed" handler="pref_changed_cb"/>
   200 @@ -567,6 +575,97 @@
   201 +			</widget>
   201                              <property name="y_options"/>
   202 +			<packing>
   202                            </packing>
   203 +			  <property name="left_attach">2</property>
   203                          </child>
   204 +			  <property name="right_attach">3</property>
   204 +                        <child>
   205 +			  <property name="top_attach">3</property>
   205 +                          <object class="GtkSpinButton" id="pwd_spinbutton">
   206 +			  <property name="bottom_attach">4</property>
   206 +                            <property name="visible">True</property>
   207 +			  <property name="y_padding">10</property>
   207 +                            <property name="tooltip-text" translatable="yes">How long the unlock dialog waits for input before disappearing.</property>
   208 +			  <property name="x_options">fill</property>
   208 +                            <property name="can_focus">True</property>
   209 +			  <property name="y_options"></property>
   209 +                            <property name="climb_rate">15</property>
   210 +			</packing>
   210 +                            <property name="digits">0</property>
   211 +		      </child>
   211 +                            <property name="numeric">True</property>
   212 +
   212 +                            <property name="update_policy">GTK_UPDATE_ALWAYS</property>
   213 +		      <child>
   213 +                            <property name="snap_to_ticks">True</property>
   214 +			<widget class="GtkEventBox" id="pwd_button_eventbox">
   214 +                            <property name="wrap">False</property>
   215 +			  <property name="visible">True</property>
   215 +                            <property name="adjustment">adjustment8</property>
   216 +			  <property name="tooltip" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property>
   216 +                            <accessibility>
   217 +			  <property name="visible_window">True</property>
   217 +                              <relation target="pwd_button" type="controlled-by"/>
   218 +			  <property name="above_child">False</property>
   218 +                              <relation target="pwd_button" type="labelled-by"/>
   219 +
   219 +                              <relation target="pwd_mlabel" type="labelled-by"/>
   220 +			  <child>
   220 +                            </accessibility>
   221 +			    <widget class="GtkCheckButton" id="pwd_button">
   221 +                            <signal handler="pref_changed_cb" name="activate"/>
   222 +			      <property name="visible">True</property>
   222 +                            <signal handler="pref_changed_event_cb" name="focus_out_event"/>
   223 +			      <property name="can_focus">True</property>
   223 +                            <signal handler="pref_changed_cb" name="value_changed"/>
   224 +			      <property name="label" translatable="yes">Timeout _Unlock After</property>
   224 +                          </object>
   225 +			      <property name="use_underline">True</property>
   225 +                          <packing>
   226 +			      <property name="relief">GTK_RELIEF_NORMAL</property>
   226 +                            <property name="left_attach">2</property>
   227 +			      <property name="focus_on_click">True</property>
   227 +                            <property name="right_attach">3</property>
   228 +			      <property name="active">False</property>
   228 +                            <property name="top_attach">3</property>
   229 +			      <property name="inconsistent">False</property>
   229 +                            <property name="bottom_attach">4</property>
   230 +			      <property name="draw_indicator">True</property>
   230 +                            <property name="x_options">fill</property>
   231 +			      <accessibility>
   231 +                            <property name="y_options"/>
   232 +				<atkrelation target="pwd_spinbutton" type="controller-for"/>
   232 +                          </packing>
   233 +				<atkrelation target="pwd_spinbutton" type="label-for"/>
   233 +                        </child>
   234 +				<atkrelation target="pwd_spinbutton" type="flows-to"/>
   234 +                        <child>
   235 +			      </accessibility>
   235 +                          <object class="GtkEventBox" id="pwd_button_eventbox">
   236 +			      <signal name="toggled" handler="pref_changed_cb"/>
   236 +                            <property name="visible">True</property>
   237 +			    </widget>
   237 +                            <property name="tooltip-text" translatable="yes">Whether the unlock dialog box should disappear after a timeout.</property>
   238 +			  </child>
   238 +                            <property name="visible_window">True</property>
   239 +			</widget>
   239 +                            <property name="above_child">False</property>
   240 +			<packing>
   240 +                            <child>
   241 +			  <property name="left_attach">0</property>
   241 +                              <object class="GtkCheckButton" id="pwd_button">
   242 +			  <property name="right_attach">2</property>
   242 +                                <property name="visible">True</property>
   243 +			  <property name="top_attach">3</property>
   243 +                                <property name="can_focus">True</property>
   244 +			  <property name="bottom_attach">4</property>
   244 +                                <property name="label" translatable="yes">Timeout _Unlock After</property>
   245 +			  <property name="x_options">fill</property>
   245 +                                <property name="use_underline">True</property>
   246 +			  <property name="y_options">fill</property>
   246 +                                <property name="relief">GTK_RELIEF_NORMAL</property>
   247 +			</packing>
   247 +                                <property name="focus_on_click">True</property>
   248 +		      </child>
   248 +                                <property name="active">False</property>
   249 +
   249 +                                <property name="inconsistent">False</property>
   250 +		      <child>
   250 +                                <property name="draw_indicator">True</property>
   251 +			<widget class="GtkLabel" id="pwd_mlabel">
   251 +                                <accessibility>
   252 +			  <property name="visible">True</property>
   252 +                                  <relation target="pwd_spinbutton" type="controller-for"/>
   253 +			  <property name="label" translatable="yes">minutes</property>
   253 +                                  <relation target="pwd_spinbutton" type="label-for"/>
   254 +			  <property name="use_underline">False</property>
   254 +                                  <relation target="pwd_spinbutton" type="flows-to"/>
   255 +			  <property name="use_markup">False</property>
   255 +                                </accessibility>
   256 +			  <property name="justify">GTK_JUSTIFY_LEFT</property>
   256 +                                <signal handler="pref_changed_cb" name="toggled"/>
   257 +			  <property name="wrap">False</property>
   257 +                              </object>
   258 +			  <property name="selectable">False</property>
   258 +                            </child>
   259 +			  <property name="xalign">0</property>
   259 +                          </object>
   260 +			  <property name="yalign">0.5</property>
   260 +                          <packing>
   261 +			  <property name="xpad">8</property>
   261 +                            <property name="left_attach">0</property>
   262 +			  <property name="ypad">0</property>
   262 +                            <property name="right_attach">2</property>
   263 +			  <accessibility>
   263 +                            <property name="top_attach">3</property>
   264 +			    <atkrelation target="pwd_spinbutton" type="label-for"/>
   264 +                            <property name="bottom_attach">4</property>
   265 +			    <atkrelation target="pwd_spinbutton" type="flows-from"/>
   265 +                            <property name="x_options">fill</property>
   266 +			  </accessibility>
   266 +                            <property name="y_options"/>
   267 +			</widget>
   267 +                          </packing>
   268 +			<packing>
   268 +                        </child>
   269 +			  <property name="left_attach">3</property>
   269 +                        <child>
   270 +			  <property name="right_attach">4</property>
   270 +                          <object class="GtkLabel" id="pwd_mlabel">
   271 +			  <property name="top_attach">3</property>
   271 +                            <property name="visible">True</property>
   272 +			  <property name="bottom_attach">4</property>
   272 +                            <property name="label" translatable="yes">minutes</property>
   273 +			  <property name="y_options"></property>
   273 +                            <property name="use_underline">False</property>
   274 +			</packing>
   274 +                            <property name="use_markup">False</property>
   275 +		      </child>
   275 +                            <property name="justify">GTK_JUSTIFY_LEFT</property>
   276  		    </widget>
   276 +                            <property name="wrap">False</property>
   277  		    <packing>
   277 +                            <property name="selectable">False</property>
   278  		      <property name="left_attach">0</property>
   278 +                            <property name="xalign">0</property>
       
   279 +                            <property name="yalign">0.5</property>
       
   280 +                            <property name="xpad">8</property>
       
   281 +                            <property name="ypad">0</property>
       
   282 +                            <accessibility>
       
   283 +                              <relation target="pwd_spinbutton" type="label-for"/>
       
   284 +                              <relation target="pwd_spinbutton" type="flows-from"/>
       
   285 +                            </accessibility>
       
   286 +                          </object>
       
   287 +                          <packing>
       
   288 +                            <property name="left_attach">3</property>
       
   289 +                            <property name="right_attach">4</property>
       
   290 +                            <property name="top_attach">3</property>
       
   291 +                            <property name="bottom_attach">4</property>
       
   292 +                            <property name="y_options"/>
       
   293 +                          </packing>
       
   294 +                        </child>
       
   295                        </object>
       
   296                        <packing>
       
   297                          <property name="left_attach">0</property>
   279 -- 
   298 -- 
   280 2.6.1
   299 2.7.4
   281 
   300