[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/kdesktop/lock
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2005-07-17 20:47:08
Message-ID: 1121633228.772037.24047.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 435683 by ossi:

fix xkb switching. the changing automatic accels are weird (how to
disable them?), but otoh maybe *some* accel is better than none. :}


 M  +11 -14    lockdlg.cc  
 M  +1 -0      lockdlg.h  


--- trunk/KDE/kdebase/kdesktop/lock/lockdlg.cc #435682:435683
@@ -143,9 +143,13 @@
     if( !kxkb.isNull() ) {
         layoutsList = kxkb.call("getLayoutsList");
         QString currentLayout = kxkb.call("getCurrentLayout");
-        if( !currentLayout.isEmpty() && layoutsList.count() > 1 )
-            setLayoutText(currentLayout);
-        else
+        if( !currentLayout.isEmpty() && layoutsList.count() > 1 ) {
+            currLayout = layoutsList.find(currentLayout);
+            if (currLayout == layoutsList.end())
+                setLayoutText("err");
+            else
+                setLayoutText(*currLayout);
+        } else
             mLayoutButton->hide();
     } else {
         mLayoutButton->hide(); // no kxkb running
@@ -162,20 +166,13 @@
 
 void PasswordDlg::layoutClicked()
 {
-    QStringList::iterator it = layoutsList.find( mLayoutButton->text() );
-    if( it == layoutsList.end() ) {  // huh?
 
-	setLayoutText( "err" );
+    if( ++currLayout == layoutsList.end() )
+        currLayout = layoutsList.begin();
 
-    } else {
+    DCOPRef kxkb("kxkb", "kxkb");
+    setLayoutText( kxkb.call("setLayout", *currLayout) ? *currLayout : "err" );
 
-	if( ++it == layoutsList.end() )
-	    it = layoutsList.begin();
-
-	DCOPRef kxkb("kxkb", "kxkb");
-	setLayoutText( kxkb.call("setLayout", *it) ? *it : "err" );
-
-    }
 }
 
 void PasswordDlg::setLayoutText( const QString &txt )
--- trunk/KDE/kdebase/kdesktop/lock/lockdlg.h #435682:435683
@@ -83,6 +83,7 @@
     int         mCapsLocked;
     bool        mUnlockingFailed;
     QStringList layoutsList;
+    QStringList::iterator currLayout;
     int         sPid, sFd;
     QListView   *lv;
 };
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic