diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kdeui/kkeybutton.h | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdeui/kkeybutton.h')
-rw-r--r-- | kdeui/kkeybutton.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/kdeui/kkeybutton.h b/kdeui/kkeybutton.h new file mode 100644 index 000000000..ebebfdb90 --- /dev/null +++ b/kdeui/kkeybutton.h @@ -0,0 +1,91 @@ +/* This file is part of the KDE libraries + Copyright (C) 2001, 2002 Ellis Whitehead <ellis@kde.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef _KKEYBUTTON_H_ +#define _KKEYBUTTON_H_ + +#include <qpushbutton.h> +#include <kshortcut.h> + +/** + * @short A push button that looks like a keyboard key. + * + * You must call setShortcut() to set the widget's currently displayed key. + * You can call captureShortcut() to get a new shortcut from the user. + * If captureShortcut() succeeds, then the capturedShortcut() signal will be + * emitted with the value of the new shortcut. The widget containing + * a KKeyButton widget must connect to this signal and check if the shortcut + * is valid. If it is, you will need to call setShortcut() with the new + * value in order make it the key currently displayed. + * + * @author Mark Donohoe <donohoe@kde.org> + * @internal + */ +class KDEUI_EXPORT KKeyButton: public QPushButton +{ + Q_OBJECT + + public: + /** + * Constructs key button widget. + */ + KKeyButton( QWidget *parent = 0, const char *name = 0 ); + /** + * Destructs the key button widget. + */ + virtual ~KKeyButton(); + + /** @deprecated Use setShortcut( cut, false ) instead */ + void setShortcut( const KShortcut& cut ) KDE_DEPRECATED; + /// @since 3.1 + void setShortcut( const KShortcut& cut, bool bQtShortcut ); + const KShortcut& shortcut() const + { return m_cut; } + + /** + * Reimplemented for internal purposes. + */ + void setText( const QString& text ); + + signals: + void capturedShortcut( const KShortcut& ); + + public slots: + /** + * Call this method to capture a shortcut from the keyboard. + * If it succeeds, the capturedShortcut() signal will be emitted. + */ + void captureShortcut(); + + protected: + KShortcut m_cut; + bool m_bEditing; + + /** + * Reimplemented for internal reasons. + */ + void drawButton( QPainter* _painter ); + + protected: + virtual void virtual_hook( int id, void* data ); + private: + class KKeyButtonPrivate* d; +}; + +#endif |