mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-25 03:12:51 +00:00

for some reason KSMShutdownFeedback::stop() was not doing anything when the KWin effect was taking care of the logout effect but KWin also does not apply the effect to windows other than the one created by ksmserver Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
48 lines
1.6 KiB
C++
48 lines
1.6 KiB
C++
#include "shutdowndlg.h"
|
|
#include <kcmdlineargs.h>
|
|
#include <kaboutdata.h>
|
|
#include <kapplication.h>
|
|
#include <kiconloader.h>
|
|
#include <kworkspace/kworkspace.h>
|
|
#include <Plasma/Theme>
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
KAboutData about("kapptest", 0, ki18n("kapptest"), "version");
|
|
KCmdLineArgs::init(argc, argv, &about);
|
|
|
|
KCmdLineOptions options;
|
|
options.add("t");
|
|
options.add("type <name>", ki18n("The type of shutdown to emulate: Default, None, Reboot, Halt or Logout"), "None");
|
|
options.add("theme <name>", ki18n("Theme name. List with 'plasmoidviewer --list-themes'"));
|
|
KCmdLineArgs::addCmdLineOptions(options);
|
|
|
|
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
|
|
|
KApplication a;
|
|
KApplication::quitOnSignal();
|
|
KIconLoader::global()->addAppDir("ksmserver");
|
|
qAddPostRoutine(KSMShutdownFeedback::stop);
|
|
KSMShutdownFeedback::start();
|
|
|
|
QString sdtypeOption = args->getOption("type").toLower();
|
|
|
|
if (args->isSet("theme")) {
|
|
Plasma::Theme::defaultTheme()->setUseGlobalSettings(false); //don't change every plasma theme!
|
|
Plasma::Theme::defaultTheme()->setThemeName(args->getOption("theme"));
|
|
}
|
|
|
|
KWorkSpace::ShutdownType sdtype = KWorkSpace::ShutdownTypeDefault;
|
|
if (sdtypeOption == "reboot") {
|
|
sdtype = KWorkSpace::ShutdownTypeReboot;
|
|
} else if (sdtypeOption == "halt") {
|
|
sdtype = KWorkSpace::ShutdownTypeHalt;
|
|
} else if (sdtypeOption == "logout") {
|
|
sdtype = KWorkSpace::ShutdownTypeNone;
|
|
}
|
|
|
|
(void)KSMShutdownDlg::confirmShutdown( true, true, sdtype, "default" );
|
|
/* (void)KSMShutdownDlg::confirmShutdown( false, false, sdtype ); */
|
|
|
|
return a.exec();
|
|
}
|