59ef38d2 | 2014-04-29 02:46:10 | Michele Calgaro |
Added possibility to hide the Cancel button from the Desktop Session Locked dialog. This relates to bug 1584. |
||
M kcontrol/screensaver/scrnsave.cpp M kcontrol/screensaver/scrnsave.h M kdesktop/kdesktop.kcfg M kdesktop/lock/lockdlg.cc M kdesktop/lock/lockprocess.cc M kdesktop/lock/main.cc |
||
diff --git a/kcontrol/screensaver/scrnsave.cpp b/kcontrol/screensaver/scrnsave.cpp index 33df74f..18925e8 100644 --- a/kcontrol/screensaver/scrnsave.cpp +++ b/kcontrol/screensaver/scrnsave.cpp @@ -177,7 +177,7 @@ mSettingsGroup = new TQGroupBox( i18n("Settings"), this ); mSettingsGroup->setColumnLayout( 0, Qt::Vertical ); leftColumnLayout->addWidget( mSettingsGroup ); - TQGridLayout *settingsGroupLayout = new TQGridLayout( mSettingsGroup->layout(), 4, 2, KDialog::spacingHint() ); + TQGridLayout *settingsGroupLayout = new TQGridLayout( mSettingsGroup->layout(), 5, 2, KDialog::spacingHint() ); mEnabledCheckBox = new TQCheckBox(i18n("Start a&utomatically"), mSettingsGroup); mEnabledCheckBox->setChecked(mEnabled); @@ -264,12 +264,19 @@ settingsGroupLayout->addWidget(mUseUnmanagedLockWindowsCheckBox, 2, 1); TQWhatsThis::add( mUseUnmanagedLockWindowsCheckBox, i18n("Use old-style unmanaged X11 lock windows.") ); - mHideActiveWindowsFromSaverCheckBox = new TQCheckBox( i18n("&Hide active windows from saver"), mSettingsGroup ); + mHideActiveWindowsFromSaverCheckBox = new TQCheckBox( i18n("Hide active &windows from saver"), mSettingsGroup ); mHideActiveWindowsFromSaverCheckBox->setEnabled( true ); mHideActiveWindowsFromSaverCheckBox->setChecked( mHideActiveWindowsFromSaver ); connect( mHideActiveWindowsFromSaverCheckBox, TQT_SIGNAL( toggled( bool ) ), this, TQT_SLOT( slotHideActiveWindowsFromSaver( bool ) ) ); settingsGroupLayout->addWidget(mHideActiveWindowsFromSaverCheckBox, 3, 1); TQWhatsThis::add( mHideActiveWindowsFromSaverCheckBox, i18n("Hide all active windows from the screen saver and use the desktop background as the screen saver input.") ); + + mHideCancelButtonCheckBox = new TQCheckBox( i18n("&Hide Cancel &button"), mSettingsGroup ); + mHideCancelButtonCheckBox->setEnabled( true ); + mHideCancelButtonCheckBox->setChecked( mHideCancelButton ); + connect( mHideCancelButtonCheckBox, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(slotHideCancelButton(bool)) ); + settingsGroupLayout->addWidget(mHideCancelButtonCheckBox, 4, 1); + TQWhatsThis::add(mHideCancelButtonCheckBox, i18n("Hide Cancel button from the \"Desktop Session Locked\" dialog.")); // right column TQBoxLayout* rightColumnLayout = new TQVBoxLayout(topLayout, KDialog::spacingHint()); @@ -432,6 +439,7 @@ mUseTSAK = config->readBoolEntry("UseTDESAK", true); mUseUnmanagedLockWindows = config->readBoolEntry("UseUnmanagedLockWindows", false); mHideActiveWindowsFromSaver = config->readBoolEntry("HideActiveWindowsFromSaver", true); + mHideCancelButton = config->readBoolEntry("HideCancelButton", false); mSaver = config->readEntry("Saver"); if (mTimeout < 60) mTimeout = 60; @@ -484,6 +492,7 @@ config->writeEntry("UseTDESAK", mUseTSAK); config->writeEntry("UseUnmanagedLockWindows", mUseUnmanagedLockWindows); config->writeEntry("HideActiveWindowsFromSaver", mHideActiveWindowsFromSaver); + config->writeEntry("HideCancelButton", mHideCancelButton); if ( !mSaver.isEmpty() ) config->writeEntry("Saver", mSaver); @@ -980,6 +989,16 @@ //--------------------------------------------------------------------------- // +void KScreenSaver::slotHideCancelButton( bool h ) +{ + if (mHideCancelButtonCheckBox->isEnabled()) mHideCancelButton = h; + processLockouts(); + mChanged = true; + emit changed(true); +} + +//--------------------------------------------------------------------------- +// void KScreenSaver::slotSetupDone(TDEProcess *) { mPrevSelected = -1; // see ugly hack in slotPreviewExited() diff --git a/kcontrol/screensaver/scrnsave.h b/kcontrol/screensaver/scrnsave.h index a8f6e53..d52c812 100644 --- a/kcontrol/screensaver/scrnsave.h +++ b/kcontrol/screensaver/scrnsave.h @@ -60,6 +60,7 @@ void slotUseTSAK( bool ); void slotUseUnmanagedLockWindows( bool ); void slotHideActiveWindowsFromSaver( bool ); + void slotHideCancelButton( bool ); void processLockouts(); void slotSetupDone(TDEProcess*); // when selecting a new screensaver, the old preview will @@ -103,6 +104,7 @@ TQCheckBox *mUseTSAKCheckBox; TQCheckBox *mUseUnmanagedLockWindowsCheckBox; TQCheckBox *mHideActiveWindowsFromSaverCheckBox; + TQCheckBox *mHideCancelButtonCheckBox; int mSelected; int mPrevSelected; @@ -121,6 +123,7 @@ bool mUseTSAK; bool mUseUnmanagedLockWindows; bool mHideActiveWindowsFromSaver; + bool mHideCancelButton; KSimpleConfig* mTDMConfig; }; diff --git a/kdesktop/kdesktop.kcfg b/kdesktop/kdesktop.kcfg index 2298e16..f2226f7 100644 --- a/kdesktop/kdesktop.kcfg +++ b/kdesktop/kdesktop.kcfg @@ -271,92 +271,71 @@ <default>false</default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:308 --> - <!-- if(config.readBoolEntry("Lock", false)) --> </entry> <entry key="LockGrace" type="Int"> <default>5000</default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:310 --> - <!-- mLockGrace = config.readNumEntry("LockGrace", LOCK_GRACE_DEFAULT); --> </entry> <entry key="AutoLogout" type="Bool"> <default>false</default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:319 --> - <!-- if (config.readBoolEntry("AutoLogout", false)) --> </entry> <entry key="AutoLogoutTimeout" type="Int"> <default>600</default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:322 --> - <!-- mAutoLogoutTimeout = config.readNumEntry("AutoLogoutTimeout", AUTOLOGOUT_DEFAULT); --> </entry> <entry key="Priority" type="Int"> <default>19</default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:332 --> - <!-- mPriority = config.readNumEntry("Priority", 19); --> </entry> <entry key="Saver" type="String"> <default></default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("Saver"); --> </entry> <entry key="UseUnmanagedLockWindows" type="Bool"> <default>false</default> <label></label> <whatsthis>When enabled this restores the old style unmanaged window behavior of desktop locking.</whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("UseUnmanagedLockWindows"); --> </entry> <entry key="ShowLockDateTime" type="Bool"> <default>true</default> <label></label> <whatsthis>When enabled the date and time when the desktop was locked is displayed as an additional intrusion detection measure.</whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("ShowLockDateTime"); --> </entry> <entry key="DelaySaverStart" type="Bool"> <default>true</default> <label></label> <whatsthis>When disabled the screensaver starts immediately when locking the desktop.</whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("DelaySaverStart"); --> </entry> <entry key="HideActiveWindowsFromSaver" type="Bool"> <default>true</default> <label></label> <whatsthis>When enabled all active windows are hidden from the screensaver, showing only the desktop background as a result.</whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("HideActiveWindowsFromSaver"); --> + </entry> + <entry key="HideCancelButton" type="Bool"> + <default>false</default> + <label></label> + <whatsthis>Hide Cancel button from the "Desktop Session Locked" dialog.</whatsthis> </entry> <entry key="UseTDESAK" type="Bool"> <default>true</default> <label></label> <whatsthis>When enabled, the Trinity Secure Attention Key (TSAK) system will be used to secure the screen locker. This requires system wide TSAK support to be enabled prior to use.</whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:336 --> - <!-- mSaver = config.readEntry("UseTDESAK"); --> </entry> <entry key="PluginsUnlock" type="StringList"> <default></default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:342 --> - <!-- mPlugins = config.readListEntry("PluginsUnlock"); --> </entry> <entry key="PluginOptions" type="StringList"> <default></default> <label></label> <whatsthis></whatsthis> - <!-- /home/paco/cvsroot/tdebase/kdesktop/lock/lockprocess.cc:345 --> - <!-- mPluginOptions = config.readListEntry("PluginOptions"); --> </entry> </group> <group name="MiniCli"> diff --git a/kdesktop/lock/lockdlg.cc b/kdesktop/lock/lockdlg.cc index 30a892c..c377958 100644 --- a/kdesktop/lock/lockdlg.cc +++ b/kdesktop/lock/lockdlg.cc @@ -66,6 +66,7 @@ extern bool trinity_desktop_lock_delay_screensaver_start; extern bool trinity_desktop_lock_use_system_modal_dialogs; extern bool trinity_desktop_lock_use_sak; +extern bool trinity_desktop_lock_hide_cancel_button; int dialogHideTimeout = 10*1000; @@ -149,8 +150,13 @@ mNewSessButton = new KPushButton( KGuiItem(i18n("Sw&itch User..."), "fork"), frame ); ok = new KPushButton( i18n("Unl&ock"), frame ); - cancel = new KPushButton( KStdGuiItem::cancel(), frame ); - //if (!trinity_desktop_lock_autohide_lockdlg && !trinity_desktop_lock_use_sak) cancel->setEnabled(false); + ok->setDefault(true); + + if (!trinity_desktop_lock_hide_cancel_button) + { + cancel = new KPushButton( KStdGuiItem::cancel(), frame ); + // if (!trinity_desktop_lock_autohide_lockdlg && !trinity_desktop_lock_use_sak) cancel->setEnabled(false); + } greet = plugin->info->create( this, 0, this, mLayoutButton, TQString::null, KGreeterPlugin::Authenticate, KGreeterPlugin::ExUnlock ); @@ -165,8 +171,11 @@ TQHBoxLayout *layButtons = new TQHBoxLayout( 0, 0, KDialog::spacingHint()); layButtons->addWidget( mNewSessButton ); layButtons->addStretch(); - layButtons->addWidget( ok ); - layButtons->addWidget( cancel ); + layButtons->addWidget(ok); + if (!trinity_desktop_lock_hide_cancel_button) + { + layButtons->addWidget(cancel); + } if (trinity_desktop_lock_use_system_modal_dialogs) { KSMModalDialogHeader* theader = new KSMModalDialogHeader( frame ); @@ -202,11 +211,17 @@ } setTabOrder( ok, cancel ); - setTabOrder( cancel, mNewSessButton ); + if (!trinity_desktop_lock_hide_cancel_button) + { + setTabOrder( cancel, mNewSessButton ); + } setTabOrder( mNewSessButton, mLayoutButton ); ** Diff limit reached (max: 250 lines) ** |