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.
146 lines
3.9 KiB
146 lines
3.9 KiB
15 years ago
|
// -*- c++ -*-
|
||
|
|
||
|
/*
|
||
|
* copyright : (C) 2001-2002 by Richard Moore
|
||
|
* License : This file is released under the terms of the LGPL, version 2.
|
||
|
* email : rich@kde.org
|
||
|
*/
|
||
|
|
||
|
#ifndef KWINDOWINFO_H
|
||
|
#define KWINDOWINFO_H
|
||
|
|
||
|
#include <qobject.h>
|
||
|
#include <qpixmap.h>
|
||
|
#include <qstring.h>
|
||
|
|
||
|
#include <kdelibs_export.h>
|
||
|
|
||
|
/**
|
||
|
* Displays messages in the window icon and title. The message is usually
|
||
|
* transient with the original title and icon being restored automatically
|
||
|
* after a specified time. The simplest use displays a text message in the
|
||
|
* window title:
|
||
|
* \code
|
||
|
* KWindowInfo::showMessage( this, i18n("Message Body") );
|
||
|
* \endcode
|
||
|
* This more complex example changes the window icon, as well as
|
||
|
* displaying the text. In addition, this example overrides the
|
||
|
* default timeout to ensure the message is only displayed for 1
|
||
|
* second.
|
||
|
* \code
|
||
|
* QPixmap px;
|
||
|
* px.load( "lo16-app-logtracker.png" );
|
||
|
* KWindowInfo::showMessage( this, i18n("Message Body"), px, 1000 );
|
||
|
* \endcode
|
||
|
* If the parent window inherits KSystemTray then KWindowInfo changes the
|
||
|
* pixmap and tooltip of the system window to display the message.
|
||
|
*
|
||
|
* @author Richard Moore, rich@kde.org
|
||
|
* @since 3.1
|
||
|
*/
|
||
|
class KDEUI_EXPORT KWindowInfo : public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
/**
|
||
|
* Creates a KWindowInfo with the specified parent.
|
||
|
*/
|
||
|
KWindowInfo( QWidget *parent, const char *name=0 );
|
||
|
|
||
|
/**
|
||
|
* Cleans up.
|
||
|
*/
|
||
|
virtual ~KWindowInfo();
|
||
|
|
||
|
/**
|
||
|
* Returns true iff the object should delete itself when it resets.
|
||
|
*/
|
||
|
bool autoDelete() const { return autoDel; }
|
||
|
|
||
|
/**
|
||
|
* Set to true if you want the object to delete itself when the message
|
||
|
* timeout occurs.
|
||
|
*/
|
||
|
void setAutoDelete( bool enable ) { autoDel = enable; }
|
||
|
|
||
|
/**
|
||
|
* Utility method to display a title bar message for the specified
|
||
|
* window.
|
||
|
*/
|
||
|
static void showMessage( QWidget *window, const QString &text, int timeout = -1 );
|
||
|
|
||
|
/**
|
||
|
* Utility method to display a title bar message and icon for the
|
||
|
* specified window.
|
||
|
*/
|
||
|
static void showMessage( QWidget *window, const QString &text,
|
||
|
const QPixmap &pix, int timeout = -1 );
|
||
|
|
||
|
public slots:
|
||
|
/**
|
||
|
* Shows the specified text in the window title.
|
||
|
*/
|
||
|
void message( const QString &text );
|
||
|
|
||
|
/**
|
||
|
* Shows the specified text in the window title, and sets the window icon.
|
||
|
*/
|
||
|
void message( const QString &text, const QPixmap &pix );
|
||
|
|
||
|
/**
|
||
|
* Shows the specified text in the window title for the specified time.
|
||
|
*/
|
||
|
void message( const QString &text, int timeout );
|
||
|
|
||
|
/**
|
||
|
* Shows the specified icon and text in the window title and WM
|
||
|
* icon, for the specified time. The time is a delay specified in
|
||
|
* milliseconds, or one of the two special values. The special
|
||
|
* values are -1 which means the default timeout should be used,
|
||
|
* and 0 which means the message is permanent.
|
||
|
*/
|
||
|
void message( const QString &text, const QPixmap &pix, int timeout );
|
||
|
|
||
|
/**
|
||
|
* Shows the specified text in the window title with no timeout.
|
||
|
*/
|
||
|
void permanent( const QString &text );
|
||
|
|
||
|
/**
|
||
|
* Shows the specified text and icon in the window title with no timeout.
|
||
|
*/
|
||
|
void permanent( const QString &text, const QPixmap &pix );
|
||
|
|
||
|
protected:
|
||
|
/**
|
||
|
* Displays the message in the titlebar/icon.
|
||
|
*/
|
||
|
virtual void display( const QString &text, const QPixmap &pix );
|
||
|
|
||
|
protected slots:
|
||
|
/**
|
||
|
* Saves the window title and icon.
|
||
|
*/
|
||
|
virtual void save();
|
||
|
|
||
|
/**
|
||
|
* Resets the window title and icon to the saved values. If
|
||
|
* auto-delete is enabled then the object is deleted.
|
||
|
*/
|
||
|
virtual void restore();
|
||
|
|
||
|
private:
|
||
|
QWidget *win;
|
||
|
QPixmap oldIcon;
|
||
|
QPixmap oldMiniIcon;
|
||
|
QString oldText;
|
||
|
bool autoDel;
|
||
|
|
||
|
/* @internal */
|
||
|
class Private *d;
|
||
|
};
|
||
|
|
||
|
#endif // KWINDOWINFO_H
|
||
|
|