You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/ksmserver/shutdowndlg.h

89 lines
1.8 KiB

/*****************************************************************
ksmserver - the KDE session management server
Copyright (C) 2000 Matthias Ettrich <ettrich@kde.org>
******************************************************************/
#ifndef SHUTDOWNDLG_H
#define SHUTDOWNDLG_H
#include <qpixmap.h>
#include <qdialog.h>
#include <kpushbutton.h>
class QPushButton;
class QVButtonGroup;
class QPopupMenu;
class QTimer;
#include <kapplication.h>
// The (singleton) widget that makes the desktop gray.
class KSMShutdownFeedback : public QWidget
{
Q_OBJECT
public:
static void start() { s_pSelf = new KSMShutdownFeedback(); s_pSelf->show(); }
static void stop() { delete s_pSelf; s_pSelf = 0L; }
static KSMShutdownFeedback * self() { return s_pSelf; }
protected:
~KSMShutdownFeedback() {}
private slots:
void slotPaintEffect();
private:
static KSMShutdownFeedback * s_pSelf;
KSMShutdownFeedback();
int m_currentY;
QPixmap m_root;
};
// The confirmation dialog
class KSMShutdownDlg : public QDialog
{
Q_OBJECT
public:
static bool confirmShutdown( bool maysd, KApplication::ShutdownType& sdtype, QString& bopt );
public slots:
void slotLogout();
void slotHalt();
void slotReboot();
void slotReboot(int);
protected:
~KSMShutdownDlg() {};
private:
KSMShutdownDlg( QWidget* parent, bool maysd, KApplication::ShutdownType sdtype );
KApplication::ShutdownType m_shutdownType;
QString m_bootOption;
QPopupMenu *targets;
QStringList rebootOptions;
};
class KSMDelayedPushButton : public KPushButton
{
Q_OBJECT
public:
KSMDelayedPushButton( const KGuiItem &item, QWidget *parent, const char *name = 0 );
void setPopup( QPopupMenu *pop);
private slots:
void slotTimeout();
void slotPressed();
void slotReleased();
private:
QPopupMenu *pop;
QTimer *popt;
};
#endif