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 == "") {
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 {
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 ) {
@ -886,12 +889,15 @@ void KSMServer::completeKilling()
}
if( wait ) {
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 == "") {
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 {
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;

@ -1250,10 +1250,26 @@ void KSMShutdownIPDlg::setNotificationActionButtonsSkipText(TQString 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)
: 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..."));
setNotificationActionButtonsSkipText(i18n("Skip Notification"));

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

Loading…
Cancel
Save