From f5f0024b74d1bb0eb94937f3dc175d2b682617c2 Mon Sep 17 00:00:00 2001 From: tpearson Date: Fri, 9 Sep 2011 02:03:42 +0000 Subject: Add new _KDE_WM_MODAL_SYS_NOTIFICATION atom to disable menu/close/on-all-desktops buttons Improve the appearance of the TDE logout sequence using the new atom git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1252231 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ksmserver/shutdowndlg.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'ksmserver/shutdowndlg.cpp') diff --git a/ksmserver/shutdowndlg.cpp b/ksmserver/shutdowndlg.cpp index 3deffdb71..c49e31974 100644 --- a/ksmserver/shutdowndlg.cpp +++ b/ksmserver/shutdowndlg.cpp @@ -516,10 +516,11 @@ void KSMShutdownFeedback::slotPaintEffect() KSMShutdownIPFeedback * KSMShutdownIPFeedback::s_pSelf = 0L; KSMShutdownIPFeedback::KSMShutdownIPFeedback() - : TQWidget( 0L, "feedbackipwidget", Qt::WType_Dialog | Qt::WStyle_StaysOnTop | Qt::WX11BypassWM ), m_timeout(0) + : TQWidget( 0L, "feedbackipwidget", Qt::WType_Dialog | Qt::WStyle_StaysOnTop ), m_timeout(0) { setShown(false); + setWindowState(WindowFullScreen); // Try to get the root pixmap system("krootbacking &"); @@ -1093,7 +1094,7 @@ bool KSMShutdownDlg::confirmShutdown( bool maysd, KApplication::ShutdownType& sd return result; } -void KSMShutdownIPDlg::showShutdownIP() +TQWidget* KSMShutdownIPDlg::showShutdownIP() { kapp->enableStyles(); KSMShutdownIPDlg* l = new KSMShutdownIPDlg( 0 ); @@ -1110,17 +1111,26 @@ void KSMShutdownIPDlg::showShutdownIP() timer->start( 0, TRUE ); kapp->disableStyles(); + + return l; } KSMShutdownIPDlg::KSMShutdownIPDlg(TQWidget* parent) -// : TQDialog( 0, "", TRUE, Qt::WStyle_Customize | Qt::WType_Dialog | Qt::WStyle_NoBorder | Qt::WStyle_Title | Qt::WStyle_StaysOnTop | Qt::WDestructiveClose ) - : TQDialog( 0, "", TRUE, Qt::WStyle_Customize | Qt::WType_Popup | Qt::WStyle_NoBorder | Qt::WStyle_Title | Qt::WStyle_StaysOnTop | Qt::WX11BypassWM | Qt::WDestructiveClose ) + : TQDialog( 0, "", TRUE, Qt::WStyle_Customize | Qt::WType_Dialog | Qt::WStyle_Title | Qt::WDestructiveClose ) { + // Signal that this window should stay on top of everything else + setModal(true); + + // Signal that we do not want any window controls to be shown at all + Atom kde_wm_system_modal_notification; + kde_wm_system_modal_notification = XInternAtom(qt_xdisplay(), "_KDE_WM_MODAL_SYS_NOTIFICATION", False); + XChangeProperty(qt_xdisplay(), winId(), kde_wm_system_modal_notification, XA_INTEGER, 32, PropModeReplace, (unsigned char *) "TRUE", 1L); + TQVBoxLayout* vbox = new TQVBoxLayout( this ); TQFrame* frame = new TQFrame( this ); - frame->setFrameStyle( TQFrame::StyledPanel | TQFrame::Raised ); + frame->setFrameStyle( TQFrame::NoFrame ); frame->setLineWidth( tqstyle().tqpixelMetric( TQStyle::PM_DefaultFrameWidth, frame ) ); // we need to set the minimum size for the window frame->setMinimumWidth(400); -- cgit v1.2.3