Diffstat (limited to 'core/pim/addressbook/picker.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/picker.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/core/pim/addressbook/picker.cpp b/core/pim/addressbook/picker.cpp index a165451..7f4acb0 100644 --- a/core/pim/addressbook/picker.cpp +++ b/core/pim/addressbook/picker.cpp | |||
@@ -30,142 +30,151 @@ PickerLabel::~PickerLabel() | |||
30 | void PickerLabel::setLetters( char ch1, char ch2, char ch3 ) | 30 | void PickerLabel::setLetters( char ch1, char ch2, char ch3 ) |
31 | { | 31 | { |
32 | QString tmpStr; | 32 | QString tmpStr; |
33 | 33 | ||
34 | if (ch1 != '\0') | 34 | if (ch1 != '\0') |
35 | letter1 = ch1; | 35 | letter1 = ch1; |
36 | else | 36 | else |
37 | letter1 = ' '; | 37 | letter1 = ' '; |
38 | 38 | ||
39 | if (ch2 != '\0') | 39 | if (ch2 != '\0') |
40 | letter2 = ch2; | 40 | letter2 = ch2; |
41 | else | 41 | else |
42 | letter2 = ' '; | 42 | letter2 = ' '; |
43 | 43 | ||
44 | if (ch3 != '\0') | 44 | if (ch3 != '\0') |
45 | letter3 = ch3; | 45 | letter3 = ch3; |
46 | else | 46 | else |
47 | letter3 = ' '; | 47 | letter3 = ' '; |
48 | 48 | ||
49 | tmpStr = "<qt>"; | 49 | tmpStr = "<qt>"; |
50 | tmpStr += letter1; | 50 | tmpStr += letter1; |
51 | tmpStr += letter2; | 51 | tmpStr += letter2; |
52 | tmpStr += letter3; | 52 | tmpStr += letter3; |
53 | tmpStr += "</qt>"; | 53 | tmpStr += "</qt>"; |
54 | 54 | ||
55 | setText(tmpStr); | 55 | setText(tmpStr); |
56 | 56 | ||
57 | currentLetter = 0; | 57 | currentLetter = 0; |
58 | 58 | ||
59 | } | 59 | } |
60 | 60 | ||
61 | void PickerLabel::clearLetter() | 61 | void PickerLabel::clearLetter() |
62 | { | 62 | { |
63 | 63 | ||
64 | QString tmpStr; | 64 | QString tmpStr; |
65 | 65 | ||
66 | tmpStr = "<qt>"; | 66 | tmpStr = "<qt>"; |
67 | tmpStr += letter1; | 67 | tmpStr += letter1; |
68 | tmpStr += letter2; | 68 | tmpStr += letter2; |
69 | tmpStr += letter3; | 69 | tmpStr += letter3; |
70 | tmpStr += "</qt>"; | 70 | tmpStr += "</qt>"; |
71 | 71 | ||
72 | setText(tmpStr); | 72 | setText(tmpStr); |
73 | 73 | ||
74 | currentLetter = 0; | 74 | currentLetter = 0; |
75 | 75 | ||
76 | } | 76 | } |
77 | 77 | ||
78 | void PickerLabel::mouseReleaseEvent( QMouseEvent *e ) | 78 | void PickerLabel::mousePressEvent( QMouseEvent* e ) |
79 | { | ||
80 | // If one pickerlabel is was, and an other is now selected, we | ||
81 | // have to simulate the releaseevent.. Otherwise the new label | ||
82 | // will not get a highlighted letter.. | ||
83 | // Maybe there is a more intelligent solution, but this works and I am tired.. (se) | ||
84 | if ( ( currentLetter == 0 ) && ( lastLetter != '\0' ) ) mouseReleaseEvent( e ); | ||
85 | } | ||
86 | |||
87 | void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) | ||
79 | { | 88 | { |
80 | QString tmpStr; | 89 | QString tmpStr; |
81 | 90 | ||
82 | if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3 && lastLetter != '\0') | 91 | if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3 && lastLetter != '\0') |
83 | QTimer::singleShot( 0, this, SLOT(emitClearSignal()) ); | 92 | QTimer::singleShot( 0, this, SLOT(emitClearSignal()) ); |
84 | 93 | ||
85 | switch (currentLetter) { | 94 | switch (currentLetter) { |
86 | case 0: | 95 | case 0: |
87 | tmpStr = "<qt><font color=\"#7F0000\">"; | 96 | tmpStr = "<qt><u><font color=\"#7F0000\">"; |
88 | tmpStr += letter1; | 97 | tmpStr += letter1; |
89 | tmpStr += "</font>"; | 98 | tmpStr += "</font></u>"; |
90 | tmpStr += letter2; | 99 | tmpStr += letter2; |
91 | tmpStr += letter3; | 100 | tmpStr += letter3; |
92 | tmpStr += "</qt>"; | 101 | tmpStr += "</qt>"; |
93 | 102 | ||
94 | setText(tmpStr); | 103 | setText(tmpStr); |
95 | 104 | ||
96 | currentLetter++; | 105 | currentLetter++; |
97 | lastLetter = letter1; | 106 | lastLetter = letter1; |
98 | emit selectedLetter( letter1 ); | 107 | emit selectedLetter( letter1 ); |
99 | break; | 108 | break; |
100 | 109 | ||
101 | case 1: | 110 | case 1: |
102 | tmpStr = "<qt>"; | 111 | tmpStr = "<qt>"; |
103 | tmpStr += letter1; | 112 | tmpStr += letter1; |
104 | tmpStr += "<font color=\"#7F0000\">"; | 113 | tmpStr += "<u><font color=\"#7F0000\">"; |
105 | tmpStr += letter2; | 114 | tmpStr += letter2; |
106 | tmpStr += "</font>"; | 115 | tmpStr += "</font></u>"; |
107 | tmpStr += letter3; | 116 | tmpStr += letter3; |
108 | tmpStr += "</qt>"; | 117 | tmpStr += "</qt>"; |
109 | 118 | ||
110 | setText(tmpStr); | 119 | setText(tmpStr); |
111 | 120 | ||
112 | currentLetter++; | 121 | currentLetter++; |
113 | lastLetter = letter2; | 122 | lastLetter = letter2; |
114 | emit selectedLetter( letter2 ); | 123 | emit selectedLetter( letter2 ); |
115 | break; | 124 | break; |
116 | 125 | ||
117 | case 2: | 126 | case 2: |
118 | tmpStr = "<qt>"; | 127 | tmpStr = "<qt>"; |
119 | tmpStr += letter1; | 128 | tmpStr += letter1; |
120 | tmpStr += letter2; | 129 | tmpStr += letter2; |
121 | tmpStr += "<font color=\"#7F0000\">"; | 130 | tmpStr += "<u><font color=\"#7F0000\">"; |
122 | tmpStr += letter3; | 131 | tmpStr += letter3; |
123 | tmpStr += "</font></qt>"; | 132 | tmpStr += "</font></u></qt>"; |
124 | 133 | ||
125 | setText(tmpStr); | 134 | setText(tmpStr); |
126 | 135 | ||
127 | currentLetter++; | 136 | currentLetter++; |
128 | lastLetter = letter3; | 137 | lastLetter = letter3; |
129 | emit selectedLetter( letter3 ); | 138 | emit selectedLetter( letter3 ); |
130 | break; | 139 | break; |
131 | 140 | ||
132 | default: | 141 | default: |
133 | clearLetter(); | 142 | clearLetter(); |
134 | lastLetter = '\0'; | 143 | lastLetter = '\0'; |
135 | emit selectedLetter( '\0' ); | 144 | emit selectedLetter( '\0' ); |
136 | 145 | ||
137 | 146 | ||
138 | } | 147 | } |
139 | } | 148 | } |
140 | 149 | ||
141 | void PickerLabel::emitClearSignal() { | 150 | void PickerLabel::emitClearSignal() { |
142 | emit clearAll(); | 151 | emit clearAll(); |
143 | } | 152 | } |
144 | 153 | ||
145 | LetterPicker::LetterPicker( QWidget *parent, const char *name ) | 154 | LetterPicker::LetterPicker( QWidget *parent, const char *name ) |
146 | : QFrame( parent, name ) | 155 | : QFrame( parent, name ) |
147 | { | 156 | { |
148 | QHBoxLayout *l = new QHBoxLayout(this); | 157 | QHBoxLayout *l = new QHBoxLayout(this); |
149 | 158 | ||
150 | lblABC = new PickerLabel( this ); | 159 | lblABC = new PickerLabel( this ); |
151 | l->addWidget( lblABC ); | 160 | l->addWidget( lblABC ); |
152 | 161 | ||
153 | lblDEF = new PickerLabel( this ); | 162 | lblDEF = new PickerLabel( this ); |
154 | l->addWidget( lblDEF ); | 163 | l->addWidget( lblDEF ); |
155 | 164 | ||
156 | lblGHI = new PickerLabel( this ); | 165 | lblGHI = new PickerLabel( this ); |
157 | l->addWidget( lblGHI ); | 166 | l->addWidget( lblGHI ); |
158 | 167 | ||
159 | lblJKL = new PickerLabel( this ); | 168 | lblJKL = new PickerLabel( this ); |
160 | l->addWidget( lblJKL ); | 169 | l->addWidget( lblJKL ); |
161 | 170 | ||
162 | lblMNO = new PickerLabel( this ); | 171 | lblMNO = new PickerLabel( this ); |
163 | l->addWidget( lblMNO ); | 172 | l->addWidget( lblMNO ); |
164 | 173 | ||
165 | lblPQR = new PickerLabel( this ); | 174 | lblPQR = new PickerLabel( this ); |
166 | l->addWidget( lblPQR ); | 175 | l->addWidget( lblPQR ); |
167 | 176 | ||
168 | lblSTU = new PickerLabel( this ); | 177 | lblSTU = new PickerLabel( this ); |
169 | l->addWidget( lblSTU ); | 178 | l->addWidget( lblSTU ); |
170 | 179 | ||
171 | lblVWX = new PickerLabel( this ); | 180 | lblVWX = new PickerLabel( this ); |
@@ -179,51 +188,52 @@ LetterPicker::LetterPicker( QWidget *parent, const char *name ) | |||
179 | lblGHI->setLetters( 'G', 'H', 'I' ); | 188 | lblGHI->setLetters( 'G', 'H', 'I' ); |
180 | lblJKL->setLetters( 'J', 'K', 'L' ); | 189 | lblJKL->setLetters( 'J', 'K', 'L' ); |
181 | lblMNO->setLetters( 'M', 'N', 'O' ); | 190 | lblMNO->setLetters( 'M', 'N', 'O' ); |
182 | lblPQR->setLetters( 'P', 'Q', 'R' ); | 191 | lblPQR->setLetters( 'P', 'Q', 'R' ); |
183 | lblSTU->setLetters( 'S', 'T', 'U' ); | 192 | lblSTU->setLetters( 'S', 'T', 'U' ); |
184 | lblVWX->setLetters( 'V', 'W', 'X' ); | 193 | lblVWX->setLetters( 'V', 'W', 'X' ); |
185 | lblYZ->setLetters( 'Y', 'Z', '#' ); | 194 | lblYZ->setLetters( 'Y', 'Z', '#' ); |
186 | 195 | ||
187 | connect(lblABC, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 196 | connect(lblABC, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
188 | connect(lblDEF, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 197 | connect(lblDEF, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
189 | connect(lblGHI, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 198 | connect(lblGHI, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
190 | connect(lblJKL, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 199 | connect(lblJKL, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
191 | connect(lblMNO, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 200 | connect(lblMNO, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
192 | connect(lblPQR, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 201 | connect(lblPQR, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
193 | connect(lblSTU, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 202 | connect(lblSTU, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
194 | connect(lblVWX, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 203 | connect(lblVWX, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
195 | connect(lblYZ, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); | 204 | connect(lblYZ, SIGNAL(selectedLetter(char)), this, SLOT(newLetter(char))); |
196 | connect(lblABC, SIGNAL(clearAll()), this, SLOT(clear())); | 205 | connect(lblABC, SIGNAL(clearAll()), this, SLOT(clear())); |
197 | connect(lblDEF, SIGNAL(clearAll()), this, SLOT(clear())); | 206 | connect(lblDEF, SIGNAL(clearAll()), this, SLOT(clear())); |
198 | connect(lblGHI, SIGNAL(clearAll()), this, SLOT(clear())); | 207 | connect(lblGHI, SIGNAL(clearAll()), this, SLOT(clear())); |
199 | connect(lblJKL, SIGNAL(clearAll()), this, SLOT(clear())); | 208 | connect(lblJKL, SIGNAL(clearAll()), this, SLOT(clear())); |
200 | connect(lblMNO, SIGNAL(clearAll()), this, SLOT(clear())); | 209 | connect(lblMNO, SIGNAL(clearAll()), this, SLOT(clear())); |
201 | connect(lblPQR, SIGNAL(clearAll()), this, SLOT(clear())); | 210 | connect(lblPQR, SIGNAL(clearAll()), this, SLOT(clear())); |
202 | connect(lblSTU, SIGNAL(clearAll()), this, SLOT(clear())); | 211 | connect(lblSTU, SIGNAL(clearAll()), this, SLOT(clear())); |
203 | connect(lblVWX, SIGNAL(clearAll()), this, SLOT(clear())); | 212 | connect(lblVWX, SIGNAL(clearAll()), this, SLOT(clear())); |
204 | connect(lblYZ, SIGNAL(clearAll()), this, SLOT(clear())); | 213 | connect(lblYZ, SIGNAL(clearAll()), this, SLOT(clear())); |
205 | 214 | ||
206 | } | 215 | } |
207 | 216 | ||
208 | LetterPicker::~LetterPicker() | 217 | LetterPicker::~LetterPicker() |
209 | { | 218 | { |
210 | } | 219 | } |
211 | 220 | ||
212 | void LetterPicker::clear() | 221 | void LetterPicker::clear() |
213 | { | 222 | { |
214 | lblABC->clearLetter(); | 223 | lblABC->clearLetter(); |
215 | lblDEF->clearLetter(); | 224 | lblDEF->clearLetter(); |
216 | lblGHI->clearLetter(); | 225 | lblGHI->clearLetter(); |
217 | lblJKL->clearLetter(); | 226 | lblJKL->clearLetter(); |
218 | lblMNO->clearLetter(); | 227 | lblMNO->clearLetter(); |
219 | lblPQR->clearLetter(); | 228 | lblPQR->clearLetter(); |
220 | lblSTU->clearLetter(); | 229 | lblSTU->clearLetter(); |
221 | lblVWX->clearLetter(); | 230 | lblVWX->clearLetter(); |
222 | lblYZ->clearLetter(); | 231 | lblYZ->clearLetter(); |
223 | } | 232 | } |
224 | 233 | ||
225 | void LetterPicker::newLetter( char letter ) | 234 | void LetterPicker::newLetter( char letter ) |
226 | { | 235 | { |
236 | qWarning("LetterClicked"); | ||
227 | emit letterClicked( letter ); | 237 | emit letterClicked( letter ); |
228 | 238 | ||
229 | } | 239 | } |