Add progress bar to logout status dialog

This resolves Bug 1667
pull/2/head
Michele Calgaro 11 years ago committed by Slávek Banko
parent c4083c1d47
commit 1c618af70d

@ -817,11 +817,14 @@ void KSMServer::completeShutdownOrCheckpoint()
} }
} }
} }
KSMShutdownIPDlg *shutdownNotifierDlg=static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg);
shutdownNotifierDlg->setProgressBarTotalSteps(initialClientCount);
shutdownNotifierDlg->setProgressBarProgress(initialClientCount-clients.count());
if (nextClientToKill == "") { if (nextClientToKill == "") {
static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Closing applications (%1/%2)...").arg(initialClientCount-clients.count()).arg(initialClientCount)); shutdownNotifierDlg->setStatusMessage(i18n("Closing applications (%1/%2)...").arg(initialClientCount-clients.count()).arg(initialClientCount));
} }
else { else {
static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Closing applications (%1/%2, %3)...").arg(initialClientCount-clients.count()).arg(initialClientCount).arg(nextClientToKill)); shutdownNotifierDlg->setStatusMessage(i18n("Closing applications (%1/%2, %3)...").arg(initialClientCount-clients.count()).arg(initialClientCount).arg(nextClientToKill));
} }
} }
if( waitForKNotify ) { if( waitForKNotify ) {
@ -886,12 +889,15 @@ void KSMServer::completeKilling()
} }
if( wait ) { if( wait ) {
if (shutdownNotifierIPDlg) { if (shutdownNotifierIPDlg) {
static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->show(); KSMShutdownIPDlg *shutdownNotifierDlg=static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg);
shutdownNotifierDlg->setProgressBarTotalSteps(initialClientCount);
shutdownNotifierDlg->setProgressBarProgress(initialClientCount-clients.count());
shutdownNotifierDlg->show();
if (nextClientToKill == "") { if (nextClientToKill == "") {
static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Closing applications (%1/%2)...").arg(initialClientCount-clients.count()).arg(initialClientCount)); shutdownNotifierDlg->setStatusMessage(i18n("Closing applications (%1/%2)...").arg(initialClientCount-clients.count()).arg(initialClientCount));
} }
else { else {
static_cast<KSMShutdownIPDlg*>(shutdownNotifierIPDlg)->setStatusMessage(i18n("Closing applications (%1/%2, %3)...").arg(initialClientCount-clients.count()).arg(initialClientCount).arg(nextClientToKill)); shutdownNotifierDlg->setStatusMessage(i18n("Closing applications (%1/%2, %3)...").arg(initialClientCount-clients.count()).arg(initialClientCount).arg(nextClientToKill));
} }
} }
return; return;

@ -1250,10 +1250,26 @@ void KSMShutdownIPDlg::setNotificationActionButtonsSkipText(TQString text)
m_button1->setText(text); m_button1->setText(text);
} }
void KSMShutdownIPDlg::setProgressBarTotalSteps(int total_steps)
{
m_progressbar->setTotalSteps(total_steps);
}
void KSMShutdownIPDlg::setProgressBarProgress(int step)
{
m_progressbar->setProgress(step);
}
KSMShutdownIPDlg::KSMShutdownIPDlg(TQWidget* parent) KSMShutdownIPDlg::KSMShutdownIPDlg(TQWidget* parent)
: KSMModalDialog( parent ) : KSMModalDialog( parent )
{ {
m_progressbar = new TQProgressBar(this);
m_progressbar->show();
m_gridlayout->expand(4,3);
m_gridlayout->addMultiCellWidget( m_progressbar, 3, 3, 0, 2);
setFixedSize(sizeHint());
setStatusMessage(i18n("Saving your settings...")); setStatusMessage(i18n("Saving your settings..."));
setNotificationActionButtonsSkipText(i18n("Skip Notification")); setNotificationActionButtonsSkipText(i18n("Skip Notification"));

@ -18,6 +18,7 @@ Copyright (C) 2000 Matthias Ettrich <ettrich@kde.org>
#include <kguiitem.h> #include <kguiitem.h>
#include <tqtoolbutton.h> #include <tqtoolbutton.h>
#include <krootpixmap.h> #include <krootpixmap.h>
#include <ntqprogressbar.h>
class TQPushButton; class TQPushButton;
class TQVButtonGroup; class TQVButtonGroup;
@ -175,6 +176,8 @@ public:
void showNotificationActionButtons(); void showNotificationActionButtons();
void hideNotificationActionButtons(); void hideNotificationActionButtons();
void setNotificationActionButtonsSkipText(TQString text); void setNotificationActionButtonsSkipText(TQString text);
void setProgressBarTotalSteps(int total_steps);
void setProgressBarProgress(int step);
signals: signals:
void abortLogoutClicked(); void abortLogoutClicked();
@ -185,6 +188,8 @@ protected:
private: private:
KSMShutdownIPDlg( TQWidget* parent ); KSMShutdownIPDlg( TQWidget* parent );
TQProgressBar *m_progressbar;
}; };
class KSMDelayedPushButton : public KPushButton class KSMDelayedPushButton : public KPushButton

Loading…
Cancel
Save