diff options
Diffstat (limited to 'src/app/Dialogs/krsqueezedtextlabel.h')
-rw-r--r-- | src/app/Dialogs/krsqueezedtextlabel.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/app/Dialogs/krsqueezedtextlabel.h b/src/app/Dialogs/krsqueezedtextlabel.h new file mode 100644 index 0000000..320953f --- /dev/null +++ b/src/app/Dialogs/krsqueezedtextlabel.h @@ -0,0 +1,45 @@ +#ifndef KRSQUEEZEDTEXTLABEL_H +#define KRSQUEEZEDTEXTLABEL_H + +#include <ksqueezedtextlabel.h> + +class TQMouseEvent; +class TQDropEvent; +class TQDragEnterEvent; + +/** +This class overloads KSqueezedTextLabel and simply adds a clicked signal, +so that users will be able to click the label and switch focus between panels. + +NEW: a special setText() method allows to choose which part of the string should + be displayed (example: make sure that search results won't be cut out) +*/ +class KrSqueezedTextLabel : public KSqueezedTextLabel { +TQ_OBJECT + + public: + KrSqueezedTextLabel(TQWidget *parent = 0, const char *name = 0); + ~KrSqueezedTextLabel(); + + void enableDrops( bool flag ); + + public slots: + void setText( const TQString &text, int index=-1, int length=-1 ); + + signals: + void clicked(); /**< emitted when someone clicks on the label */ + void dropped(TQDropEvent *); /**< emitted when someone drops URL onto the label */ + + protected: + void resizeEvent( TQResizeEvent * ) { squeezeTextToLabel(_index, _length); } + virtual void mousePressEvent(TQMouseEvent *e); + virtual void dropEvent(TQDropEvent *e); + virtual void dragEnterEvent(TQDragEnterEvent *e); + void squeezeTextToLabel(int index=-1, int length=-1); + + private: + bool acceptDrops; + int _index, _length; +}; + +#endif |