summaryrefslogtreecommitdiffstats
path: root/src/app/Dialogs/krsqueezedtextlabel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/Dialogs/krsqueezedtextlabel.h')
-rw-r--r--src/app/Dialogs/krsqueezedtextlabel.h45
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