Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1
kdebase3
applet-lock-logout.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File applet-lock-logout.diff of Package kdebase3
Index: kicker/applets/lockout/lockout.cpp =================================================================== --- kicker/applets/lockout/lockout.cpp (Revision 849786) +++ kicker/applets/lockout/lockout.cpp (Arbeitskopie) @@ -31,6 +31,7 @@ #include <qtoolbutton.h> #include <qstyle.h> #include <qtooltip.h> +#include <qobjectlist.h> #include <dcopclient.h> @@ -54,7 +55,7 @@ } Lockout::Lockout( const QString& configFile, QWidget *parent, const char *name) - : KPanelApplet( configFile, KPanelApplet::Normal, 0, parent, name ), bTransparent( false ) + : KPanelApplet( configFile, KPanelApplet::Normal, 0, parent, name ), bTransparent( false ), bAlternateButtonOrder( false ) { KConfig *conf = config(); conf->setGroup("lockout"); @@ -71,9 +72,17 @@ layout->setMargin( 0 ); layout->setSpacing( 0 ); - lockButton = new SimpleButton( this, "lock"); - logoutButton = new SimpleButton( this, "logout"); + bAlternateButtonOrder = !conf->readBoolEntry( "OriginalLayout",true ); + if (bAlternateButtonOrder) { + lockButton = new SimpleButton( this, "lock"); + logoutButton = new SimpleButton( this, "logout"); + } + else { + logoutButton = new SimpleButton( this, "logout"); + lockButton = new SimpleButton( this, "lock"); + } + QToolTip::add( lockButton, i18n("Lock the session") ); QToolTip::add( logoutButton, i18n("Log out") ); @@ -204,12 +213,15 @@ this, SLOT( lock() ) ); popup->insertSeparator(); + popup->insertItem( i18n( "&Alternate Button Order" ), 90 ); i18n("&Transparent"); //popup->insertItem( i18n( "&Transparent" ), 100 ); popup->insertItem( SmallIcon( "configure" ), i18n( "&Configure Screen Saver..." ), this, SLOT( slotLockPrefs() ) ); + popup->setItemChecked( 90, bAlternateButtonOrder ); + popup->connectItem(90, this, SLOT( slotButtonOrder() ) ); //popup->setItemChecked( 100, bTransparent ); //popup->connectItem(100, this, SLOT( slotTransparent() ) ); //if (conf->entryIsImmutable( "Transparent" )) @@ -226,6 +238,7 @@ popup->insertItem( SmallIcon( "exit" ), i18n("&Log Out..."), this, SLOT( logout() ) ); popup->insertSeparator(); + popup->insertItem( i18n( "&Alternate Button Order" ), 90 ); //popup->insertItem( i18n( "&Transparent" ), 100 ); popup->insertItem( SmallIcon( "configure" ), i18n( "&Configure Session Manager..." ), @@ -235,6 +248,9 @@ //popup->connectItem(100, this, SLOT( slotTransparent() ) ); //if (conf->entryIsImmutable( "Transparent" )) // popup->setItemEnabled( 100, false ); + popup->setItemChecked( 90, bAlternateButtonOrder ); + popup->connectItem(90, this, SLOT( slotButtonOrder() ) ); + popup->exec( me->globalPos() ); delete popup; @@ -263,6 +279,27 @@ conf->sync(); } +void Lockout::slotButtonOrder() +{ + QObject* child = children()->getFirst(); + + if (bAlternateButtonOrder) + child = lockButton; + else + child = logoutButton; + + removeChild(child); + insertChild(child); + update(); + + bAlternateButtonOrder = !bAlternateButtonOrder; + + KConfig* conf = config(); + conf->setGroup("lockout"); + conf->writeEntry( "OriginalLayout", !bAlternateButtonOrder ); + conf->sync(); +} + void Lockout::slotLogoutPrefs() { // Run the logout settings. Index: kicker/applets/lockout/lockout.h =================================================================== --- kicker/applets/lockout/lockout.h (Revision 849786) +++ kicker/applets/lockout/lockout.h (Arbeitskopie) @@ -36,6 +36,7 @@ void slotLockPrefs(); void slotLogoutPrefs(); + void slotButtonOrder(); void slotTransparent(); void slotIconChanged(); @@ -47,6 +48,7 @@ QBoxLayout *layout; bool bTransparent; + bool bAlternateButtonOrder; }; #endif // LOCKOUT_H
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor