summaryrefslogtreecommitdiff
path: root/core/pim/addressbook/picker.h
blob: d268983d0a4d7424b21960b6dcb1a1096d0fae59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
 * Letter Chooser Widget.
 *
 * (c) 2002 Mike Crawford
 *
 * This file is FREE SOFTWARE covered under the GUN General Public License.  
 *
 *
*/
#ifndef PICKER_H
#define PICKER_H

#include <qlabel.h>
#include <qframe.h>
#include <qevent.h>
#include <qsizepolicy.h> 

class PickerLabel: public QLabel {
Q_OBJECT
	public:
		PickerLabel( QWidget *parent = 0, const char *name = 0 );
		~PickerLabel();

		void setLetters( char ch1, char ch2, char ch3 );
		void clearLetter();

	signals:

		void selectedLetter( char );
		void clearAll();

	protected:

		void mouseReleaseEvent( QMouseEvent *e );
		void mousePressEvent( QMouseEvent *e );

	private:

		int currentLetter;
		static char lastLetter;
		char letter1, letter2, letter3;

	private slots:

		void emitClearSignal();

};
class LetterPicker: public QFrame {
Q_OBJECT
	public:
		LetterPicker( QWidget *parent = 0, const char *name = 0 );
		~LetterPicker();

		QSizePolicy sizePolicy () const;

	public slots:
		void clear();
	
	signals:
		void letterClicked( char );

	private:
		PickerLabel *lblABC, *lblDEF, *lblGHI, *lblJKL, *lblMNO, *lblPQR, *lblSTU, *lblVWX, *lblYZ;
		PickerLabel *lastLabel;

	private slots:
		void newLetter( char letter );
};

#endif