Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:pley
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.h =================================================================== --- kicker/applets/lockout/lockout.h (revision 623009) +++ kicker/applets/lockout/lockout.h (working copy) @@ -35,6 +35,7 @@ void slotLockPrefs(); void slotLogoutPrefs(); + void slotButtonOrder(); void slotTransparent(); void slotIconChanged(); @@ -46,6 +47,7 @@ QBoxLayout *layout; bool bTransparent; + bool bAlternateButtonOrder; }; #endif // LOCKOUT_H Index: kicker/applets/lockout/lockout.cpp =================================================================== --- kicker/applets/lockout/lockout.cpp (revision 623009) +++ kicker/applets/lockout/lockout.cpp (working copy) @@ -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 QToolButton( this, "lock"); - logoutButton = new QToolButton( this, "logout"); + bAlternateButtonOrder = !conf->readBoolEntry( "OriginalLayout",true ); + if (bAlternateButtonOrder) { + lockButton = new QToolButton( this, "lock"); + logoutButton = new QToolButton( this, "logout"); + } + else { + logoutButton = new QToolButton( this, "logout"); + lockButton = new QToolButton( this, "lock"); + } + lockButton->setBackgroundMode(X11ParentRelative); logoutButton->setBackgroundMode(X11ParentRelative); @@ -212,11 +221,14 @@ popup->insertItem( SmallIcon( "lock" ), i18n("Lock Session"), this, SLOT( lock() ) ); popup->insertSeparator(); + popup->insertItem( i18n( "&Alternate Button Order" ), 90 ); 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" )) @@ -233,11 +245,14 @@ 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..." ), this, SLOT( slotLogoutPrefs() ) ); + popup->setItemChecked( 90, bAlternateButtonOrder ); + popup->connectItem(90, this, SLOT( slotButtonOrder() ) ); popup->setItemChecked( 100, bTransparent ); popup->connectItem(100, this, SLOT( slotTransparent() ) ); if (conf->entryIsImmutable( "Transparent" )) @@ -272,6 +287,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.
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