File one.patch of Package tdebase

diff --git a/kcontrol/konsole/kcmkonsole.cpp b/kcontrol/konsole/kcmkonsole.cpp
index 7dfb77dae..829b64047 100644
--- a/kcontrol/konsole/kcmkonsole.cpp
+++ b/kcontrol/konsole/kcmkonsole.cpp
@@ -111,7 +111,7 @@ void KCMKonsole::load(bool useDefaults)
     dialog->frameCB->setChecked(config.readBoolEntry("has frame",true));
     dialog->line_spacingSB->setValue(config.readUnsignedNumEntry( "LineSpacing", 0 ));
     dialog->silence_secondsSB->setValue(config.readUnsignedNumEntry( "SilenceSeconds", 10 ));
-    dialog->word_connectorLE->setText(config.readEntry("wordseps",":@-./_~"));
+    dialog->word_connectorLE->setText(config.readEntry("wordseps",":@-./_~+"));
     dialog->metaAsAltModeCB->setChecked(config.readBoolEntry("metaAsAltMode",false));
     realTransparencyOrig = config.readBoolEntry("RealTransparency",false);
     dialog->realTransparency->setChecked(realTransparencyOrig);
diff --git a/konsole/konsole/TEWidget.cpp b/konsole/konsole/TEWidget.cpp
index 026ee2df8..9d5c6366f 100644
--- a/konsole/konsole/TEWidget.cpp
+++ b/konsole/konsole/TEWidget.cpp
@@ -370,7 +370,7 @@ TEWidget::TEWidget(TQWidget *parent, const char *name)
 ,preserve_line_breaks(true)
 ,column_selection_mode(false)
 ,scrollLoc(SCRNONE)
-,word_characters(":@-./_~")
+,word_characters(":@-./_~+")
 ,m_bellMode(BELLSYSTEM)
 ,blinking(false)
 ,cursorBlinking(false)
diff --git a/konsole/konsole/konsole.cpp b/konsole/konsole/konsole.cpp
index 11fae96d1..1d3e66ec9 100644
--- a/konsole/konsole/konsole.cpp
+++ b/konsole/konsole/konsole.cpp
@@ -1609,7 +1609,7 @@ void Konsole::readProperties(TDEConfig* config, const TQString &schema, bool glo
      b_warnQuit=config->readBoolEntry( "WarnQuit", true );
      b_allowResize=config->readBoolEntry( "AllowResize", false);
      b_bidiEnabled = config->readBoolEntry("EnableBidi",false);
-     s_word_seps= config->readEntry("wordseps",":@-./_~");
+     s_word_seps= config->readEntry("wordseps",":@-./_~+");
      b_framevis = config->readBoolEntry("has frame",true);
      b_metaAsAlt = config->readBoolEntry("metaAsAltMode",false);
      b_realTransparency = config->readBoolEntry("RealTransparency",false);
diff --git a/konsole/konsole/konsole_part.cpp b/konsole/konsole/konsole_part.cpp
index 5e1379a4e..193e60040 100644
--- a/konsole/konsole/konsole_part.cpp
+++ b/konsole/konsole/konsole_part.cpp
@@ -586,7 +586,7 @@ void konsolePart::readProperties()
   n_keytab=config->readNumEntry("keytab",0); // act. the keytab for this session
   n_scroll = TQMIN(config->readUnsignedNumEntry("scrollbar",TEWidget::SCRRIGHT),2);
   m_histSize = config->readNumEntry("history",DEFAULT_HISTORY_SIZE);
-  s_word_seps= config->readEntry("wordseps",":@-./_~");
+  s_word_seps= config->readEntry("wordseps",":@-./_~+"); 
   n_encoding = config->readNumEntry("encoding",0);
 
   TQFont tmpFont = TDEGlobalSettings::fixedFont();
diff --git a/kdesktop/krootwm.cpp b/kdesktop/krootwm.cpp
index 62ee673e..be25b820 100644
--- a/kdesktop/krootwm.cpp
+++ b/kdesktop/krootwm.cpp
@@ -776,7 +776,6 @@ void KRootWm::slotOpenTerminal()
     TQString terminal = TDEGlobal::config()->readPathEntry("TerminalApplication", "konsole");
 
     *p << terminal;
-    p->setWorkingDirectory(TDEGlobalSettings::desktopPath());
     p->start(TDEProcess::DontCare);
 
     delete p;
diff --git a/kcontrol/screensaver/scrnsave.cpp b/kcontrol/screensaver/scrnsave.cpp
index 70cf3f469..d8ff1b777 100644
--- a/kcontrol/screensaver/scrnsave.cpp
+++ b/kcontrol/screensaver/scrnsave.cpp
@@ -266,6 +266,13 @@ KScreenSaver::KScreenSaver(TQWidget *parent, const char *name, const TQStringLis
     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.") );
 
+    mVibrateUnlockCheckBox = new TQCheckBox( i18n("&Vibrate unlock dialog box on failure"), mSettingsGroup );
+    mVibrateUnlockCheckBox->setEnabled( true );
+    mVibrateUnlockCheckBox->setChecked( mVibrateUnlock );
+    connect( mVibrateUnlockCheckBox, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotVibrateUnlock( bool ) ) );
+    settingsGroupLayout->addWidget(mVibrateUnlockCheckBox, 4, 1);
+    TQWhatsThis::add( mVibrateUnlockCheckBox, i18n("Makes the unlock dialog box vibrate when entering an incorrect password.") );
+
     mHideCancelButtonCheckBox = new TQCheckBox( i18n("Hide &cancel button"), mSettingsGroup );
     mHideCancelButtonCheckBox->setEnabled( true );
     mHideCancelButtonCheckBox->setChecked( mHideCancelButton );
@@ -432,6 +439,7 @@ void KScreenSaver::readSettings( bool useDefaults )
     mLock = config->readBoolEntry("Lock", false);
     mDelaySaverStart = config->readBoolEntry("DelaySaverStart", true);
     mUseTSAK = config->readBoolEntry("UseTDESAK", true);
+    mVibrateUnlock = config->readBoolEntry("VibrateUnlock", true);
     mUseUnmanagedLockWindows = config->readBoolEntry("UseUnmanagedLockWindows", false);
     mHideActiveWindowsFromSaver = config->readBoolEntry("HideActiveWindowsFromSaver", true);
     mHideCancelButton = config->readBoolEntry("HideCancelButton", false);
@@ -485,6 +493,7 @@ void KScreenSaver::save()
     config->writeEntry("Lock", mLock);
     config->writeEntry("DelaySaverStart", mDelaySaverStart);
     config->writeEntry("UseTDESAK", mUseTSAK);
+    config->writeEntry("VibrateUnlock", mVibrateUnlock);
     config->writeEntry("UseUnmanagedLockWindows", mUseUnmanagedLockWindows);
     config->writeEntry("HideActiveWindowsFromSaver", mHideActiveWindowsFromSaver);
     config->writeEntry("HideCancelButton", mHideCancelButton);
@@ -724,10 +733,14 @@ void KScreenSaver::processLockouts()
         mUseTSAKCheckBox->setChecked( false );
     }
     if (!mUseUnmanagedLockWindows) {
+        mVibrateUnlockCheckBox->setEnabled( true );
+        mVibrateUnlockCheckBox->setChecked( mVibrateUnlock );
         mHideActiveWindowsFromSaverCheckBox->setEnabled( true );
         mHideActiveWindowsFromSaverCheckBox->setChecked( mHideActiveWindowsFromSaver );
     }
     else {
+        mVibrateUnlockCheckBox->setEnabled( false );
+        mVibrateUnlockCheckBox->setChecked( false );
         mHideActiveWindowsFromSaverCheckBox->setEnabled( false );
         mHideActiveWindowsFromSaverCheckBox->setChecked( false );
     }
@@ -992,6 +1005,16 @@ void KScreenSaver::slotUseUnmanagedLockWindows( bool u )
     emit changed(true);
 }
 
+//---------------------------------------------------------------------------
+//
+void KScreenSaver::slotVibrateUnlock( bool u )
+{
+    if (mVibrateUnlockCheckBox->isEnabled()) mVibrateUnlock = u;
+    processLockouts();
+    mChanged = true;
+    emit changed(true);
+}
+
 //---------------------------------------------------------------------------
 //
 void KScreenSaver::slotHideActiveWindowsFromSaver( bool h )
diff --git a/kcontrol/screensaver/scrnsave.h b/kcontrol/screensaver/scrnsave.h
index f5c32adee..4cc9922c1 100644
--- a/kcontrol/screensaver/scrnsave.h
+++ b/kcontrol/screensaver/scrnsave.h
@@ -58,6 +58,7 @@ protected slots:
     void slotLock( bool );
     void slotDelaySaverStart( bool );
     void slotUseTSAK( bool );
+    void slotVibrateUnlock( bool );
     void slotUseUnmanagedLockWindows( bool );
     void slotHideActiveWindowsFromSaver( bool );
     void slotHideCancelButton( bool );
@@ -102,6 +103,7 @@ protected:
     TQGroupBox   *mSettingsGroup;
     TQCheckBox   *mDelaySaverStartCheckBox;
     TQCheckBox   *mUseTSAKCheckBox;
+    TQCheckBox   *mVibrateUnlockCheckBox;
     TQCheckBox   *mUseUnmanagedLockWindowsCheckBox;
     TQCheckBox   *mHideActiveWindowsFromSaverCheckBox;
     TQCheckBox   *mHideCancelButtonCheckBox;
@@ -121,6 +123,7 @@ protected:
     bool        mImmutable;
     bool        mDelaySaverStart;
     bool        mUseTSAK;
+    bool        mVibrateUnlock;
     bool        mUseUnmanagedLockWindows;
     bool        mHideActiveWindowsFromSaver;
     bool        mHideCancelButton;
diff --git a/kdesktop/lock/lockdlg.cpp b/kdesktop/lock/lockdlg.cpp
index c8d82e8d9..3400adb99 100644
--- a/kdesktop/lock/lockdlg.cpp
+++ b/kdesktop/lock/lockdlg.cpp
@@ -61,6 +61,7 @@
 #include <X11/keysym.h>
 #include <X11/Xatom.h>
 #include <fixx11h.h>
+#include <tdeapplication.h>
 
 
 #ifndef AF_LOCAL
@@ -288,6 +289,11 @@ void PasswordDlg::init(GreeterPluginHandle *plugin)
 	if (static_cast< LockProcess* >(parent())->cryptographicCardDevice()) {
 		attemptCardLogin();
 	}
+
+	TDEConfig* config = new TDEConfig("kdesktoprc");
+	config->setGroup("ScreenSaver");
+	VibrateUnlock = config->readBoolEntry("VibrateUnlock", true);
+	delete config;
 }
 
 PasswordDlg::~PasswordDlg()
@@ -344,6 +350,37 @@ void PasswordDlg::updateLabel()
 	}
 }
 
+void PasswordDlg::movedialog( int _move )
+{
+	waitMoveDialog = true;
+	this->move(pos().x()+_move, pos().y());
+	TQTimer::singleShot( 50, this, TQ_SLOT(moveTimerDone()) );
+	while (waitMoveDialog) {
+		kapp->processEvents();
+	}
+}
+
+void PasswordDlg::moveTimerDone()
+{
+	waitMoveDialog = false;
+}
+
+void PasswordDlg::badPasswordLogin()
+{
+	if ( VibrateUnlock && mUnlockingFailed )
+	{
+		for ( int i = 0 ; i<2 ; i++)
+		{
+			movedialog( 10 );
+			movedialog( -20 );
+			movedialog( 20 );
+			movedialog( -20 );
+			movedialog( 20 );
+			movedialog( -10 );
+		}
+	}
+}
+
 //---------------------------------------------------------------------------
 //
 // Handle timer events.
@@ -512,6 +549,7 @@ void PasswordDlg::reapVerify()
 				if (cancel) {
 					cancel->setEnabled(false);
 				}
+				badPasswordLogin();
 				mNewSessButton->setEnabled( false );
 				return;
 			case AuthAbort:
diff --git a/kdesktop/lock/lockdlg.h b/kdesktop/lock/lockdlg.h
index 3f8500a42..8df23bd4d 100644
--- a/kdesktop/lock/lockdlg.h
+++ b/kdesktop/lock/lockdlg.h
@@ -64,6 +64,7 @@ class PasswordDlg : public TQDialog, public KGreeterPluginHandler
 		void slotOK();
 		void layoutClicked();
 		void slotActivity();
+		void moveTimerDone();
 	
 	protected slots:
 		virtual void reject();
@@ -83,6 +84,8 @@ class PasswordDlg : public TQDialog, public KGreeterPluginHandler
 		void handleVerify();
 		void reapVerify();
 		void cantCheck();
+		void movedialog( int _move );
+		void badPasswordLogin();
 		GreeterPluginHandle *mPlugin;
 		KGreeterPlugin *greet;
 		TQFrame      *frame;
@@ -102,6 +105,8 @@ class PasswordDlg : public TQDialog, public KGreeterPluginHandler
 		TQListView   *lv;
 		bool         mCardLoginInProgress;
 		TQDateTime   m_lockStartDT;
+		bool        waitMoveDialog;
+		bool        VibrateUnlock;
 };
 
 #endif
openSUSE Build Service is sponsored by