Diffstat (limited to 'noncore/apps/opie-bartender/bartender.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-bartender/bartender.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/noncore/apps/opie-bartender/bartender.cpp b/noncore/apps/opie-bartender/bartender.cpp index 8c4ee93..cd0a364 100644 --- a/noncore/apps/opie-bartender/bartender.cpp +++ b/noncore/apps/opie-bartender/bartender.cpp | |||
@@ -148,50 +148,49 @@ void Bartender::initDrinkDb() { | |||
148 | void Bartender::fillList() { | 148 | void Bartender::fillList() { |
149 | dbFile.at(1); | 149 | dbFile.at(1); |
150 | DrinkView->clear(); | 150 | DrinkView->clear(); |
151 | int i=0; | 151 | int i=0; |
152 | QListViewItem * item ; | 152 | QListViewItem * item ; |
153 | QTextStream t( &dbFile); | 153 | QTextStream t( &dbFile); |
154 | QString s; | 154 | QString s; |
155 | while ( !t.eof()) { | 155 | while ( !t.eof()) { |
156 | s = t.readLine(); | 156 | s = t.readLine(); |
157 | if(s.find("#",0,TRUE) != -1) { | 157 | if(s.find("#",0,TRUE) != -1) { |
158 | // qDebug(s.right(s.length()-2)); | 158 | // qDebug(s.right(s.length()-2)); |
159 | item= new QListViewItem( DrinkView, 0 ); | 159 | item= new QListViewItem( DrinkView, 0 ); |
160 | item->setText( 0, s.right(s.length()-2)); | 160 | item->setText( 0, s.right(s.length()-2)); |
161 | i++; | 161 | i++; |
162 | } | 162 | } |
163 | } | 163 | } |
164 | qDebug("there are currently %d of drinks", i); | 164 | qDebug("there are currently %d of drinks", i); |
165 | } | 165 | } |
166 | 166 | ||
167 | void Bartender::fileNew() { | 167 | void Bartender::fileNew() { |
168 | 168 | ||
169 | New_Drink *newDrinks; | 169 | New_Drink *newDrinks; |
170 | newDrinks = new New_Drink(this,"New Drink....", TRUE); | 170 | newDrinks = new New_Drink(this,"New Drink....", TRUE); |
171 | QString newName, newIng; | 171 | QString newName, newIng; |
172 | newDrinks->showMaximized(); | 172 | QPEApplication::execDialog( newDrinks ); |
173 | newDrinks->exec(); | ||
174 | newName = newDrinks->LineEdit1->text(); | 173 | newName = newDrinks->LineEdit1->text(); |
175 | newIng= newDrinks->MultiLineEdit1->text(); | 174 | newIng= newDrinks->MultiLineEdit1->text(); |
176 | 175 | ||
177 | if(dbFile.isOpen()) | 176 | if(dbFile.isOpen()) |
178 | dbFile.close(); | 177 | dbFile.close(); |
179 | if ( !dbFile.open( IO_WriteOnly| IO_Append)) { | 178 | if ( !dbFile.open( IO_WriteOnly| IO_Append)) { |
180 | QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) ); | 179 | QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) ); |
181 | return; | 180 | return; |
182 | } | 181 | } |
183 | if(newDrinks ->result() == 1 ) { | 182 | if(newDrinks ->result() == 1 ) { |
184 | QString newDrink="\n# "+newName+"\n"; | 183 | QString newDrink="\n# "+newName+"\n"; |
185 | newDrink.append(newIng+"\n"); | 184 | newDrink.append(newIng+"\n"); |
186 | qDebug("writing "+newDrink); | 185 | qDebug("writing "+newDrink); |
187 | dbFile.writeBlock( newDrink.latin1(), newDrink.length()); | 186 | dbFile.writeBlock( newDrink.latin1(), newDrink.length()); |
188 | clearList(); | 187 | clearList(); |
189 | dbFile.close(); | 188 | dbFile.close(); |
190 | 189 | ||
191 | initDrinkDb(); | 190 | initDrinkDb(); |
192 | } | 191 | } |
193 | delete newDrinks; | 192 | delete newDrinks; |
194 | } | 193 | } |
195 | 194 | ||
196 | void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { | 195 | void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { |
197 | switch (mouse) { | 196 | switch (mouse) { |
@@ -205,50 +204,49 @@ void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { | |||
205 | } | 204 | } |
206 | 205 | ||
207 | void Bartender::showDrink( QListViewItem *item) { | 206 | void Bartender::showDrink( QListViewItem *item) { |
208 | if(item==NULL) return; | 207 | if(item==NULL) return; |
209 | dbFile.at(0); | 208 | dbFile.at(0); |
210 | Show_Drink *showDrinks; | 209 | Show_Drink *showDrinks; |
211 | QString myDrink=item->text(0); | 210 | QString myDrink=item->text(0); |
212 | showDrinks = new Show_Drink(this, myDrink, TRUE); | 211 | showDrinks = new Show_Drink(this, myDrink, TRUE); |
213 | QTextStream t( &dbFile); | 212 | QTextStream t( &dbFile); |
214 | 213 | ||
215 | QString s, s2; | 214 | QString s, s2; |
216 | while ( !t.eof()) { | 215 | while ( !t.eof()) { |
217 | s = t.readLine(); | 216 | s = t.readLine(); |
218 | if(s.find( myDrink, 0, TRUE) != -1) { | 217 | if(s.find( myDrink, 0, TRUE) != -1) { |
219 | for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { | 218 | for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { |
220 | s2 = t.readLine(); | 219 | s2 = t.readLine(); |
221 | if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { | 220 | if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { |
222 | // qDebug(s2); | 221 | // qDebug(s2); |
223 | showDrinks->MultiLineEdit1->append(s2); | 222 | showDrinks->MultiLineEdit1->append(s2); |
224 | } | 223 | } |
225 | if( dbFile.atEnd() ) break; | 224 | if( dbFile.atEnd() ) break; |
226 | } | 225 | } |
227 | } | 226 | } |
228 | } | 227 | } |
229 | showDrinks->showMaximized(); | 228 | QPEApplication::execDialog( showDrinks ); |
230 | showDrinks->exec(); | ||
231 | 229 | ||
232 | if(showDrinks ->result() ==0) { | 230 | if(showDrinks ->result() ==0) { |
233 | doEdit(); | 231 | doEdit(); |
234 | } | 232 | } |
235 | delete showDrinks; | 233 | delete showDrinks; |
236 | } | 234 | } |
237 | 235 | ||
238 | void Bartender::askSearch() { | 236 | void Bartender::askSearch() { |
239 | switch ( QMessageBox::warning(this,tr("Find"),tr("Search by drink name\n")+ | 237 | switch ( QMessageBox::warning(this,tr("Find"),tr("Search by drink name\n")+ |
240 | "\nor alcohol ?" | 238 | "\nor alcohol ?" |
241 | ,tr("Drink Name"),tr("Alcohol"),0,0,1) ) { | 239 | ,tr("Drink Name"),tr("Alcohol"),0,0,1) ) { |
242 | case 0: | 240 | case 0: |
243 | doSearchByName(); | 241 | doSearchByName(); |
244 | break; | 242 | break; |
245 | case 1: | 243 | case 1: |
246 | doSearchByDrink(); | 244 | doSearchByDrink(); |
247 | break; | 245 | break; |
248 | }; | 246 | }; |
249 | } | 247 | } |
250 | 248 | ||
251 | /* search by name */ | 249 | /* search by name */ |
252 | void Bartender::doSearchByName() { | 250 | void Bartender::doSearchByName() { |
253 | // if( DrinkView->currentItem() == NULL) return; | 251 | // if( DrinkView->currentItem() == NULL) return; |
254 | QStringList searchList; | 252 | QStringList searchList; |
@@ -296,80 +294,79 @@ void Bartender::doSearchByDrink() { | |||
296 | } | 294 | } |
297 | else if( s.find( searchForDrinkName ,0, FALSE) != -1 && lastDrinkName != tempName ) { | 295 | else if( s.find( searchForDrinkName ,0, FALSE) != -1 && lastDrinkName != tempName ) { |
298 | // qDebug("appending "+lastDrinkName); | 296 | // qDebug("appending "+lastDrinkName); |
299 | searchList.append( lastDrinkName); | 297 | searchList.append( lastDrinkName); |
300 | tempName=lastDrinkName; | 298 | tempName=lastDrinkName; |
301 | } | 299 | } |
302 | // if( dbFile.atEnd() ) break; | 300 | // if( dbFile.atEnd() ) break; |
303 | 301 | ||
304 | } //oef | 302 | } //oef |
305 | if(searchList.count() >0) | 303 | if(searchList.count() >0) |
306 | showSearchResult(searchList); | 304 | showSearchResult(searchList); |
307 | else | 305 | else |
308 | QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+ searchForDrinkName); | 306 | QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+ searchForDrinkName); |
309 | } | 307 | } |
310 | delete fileDlg; | 308 | delete fileDlg; |
311 | } | 309 | } |
312 | 310 | ||
313 | void Bartender::showSearchResult(QStringList &searchList) { | 311 | void Bartender::showSearchResult(QStringList &searchList) { |
314 | QString result; | 312 | QString result; |
315 | Search_Results *searchDlg; | 313 | Search_Results *searchDlg; |
316 | 314 | ||
317 | searchList.sort(); | 315 | searchList.sort(); |
318 | 316 | ||
319 | searchDlg = new Search_Results(this, "Search Results", TRUE); | 317 | searchDlg = new Search_Results(this, "Search Results", TRUE); |
320 | searchDlg->showMaximized(); | ||
321 | searchDlg->ListBox1->insertStringList( searchList,-1); | 318 | searchDlg->ListBox1->insertStringList( searchList,-1); |
322 | searchDlg->exec(); | 319 | QPEApplication::execDialog( searchDlg ); |
323 | 320 | ||
324 | if( searchDlg->result() == 1 ) { | 321 | if( searchDlg->result() == 1 ) { |
325 | result= searchDlg->ListBox1->currentText(); | 322 | result= searchDlg->ListBox1->currentText(); |
326 | } | 323 | } |
327 | QListViewItemIterator it2( DrinkView ); | 324 | QListViewItemIterator it2( DrinkView ); |
328 | for ( ; it2.current(); ++it2 ) { | 325 | for ( ; it2.current(); ++it2 ) { |
329 | if ( it2.current()->text(0)== result ) { | 326 | if ( it2.current()->text(0)== result ) { |
330 | // qDebug( it2.current()->text(0)); | 327 | // qDebug( it2.current()->text(0)); |
331 | showDrink(it2.current()); | 328 | showDrink(it2.current()); |
332 | } | 329 | } |
333 | } | 330 | } |
334 | delete searchDlg; | 331 | delete searchDlg; |
335 | } | 332 | } |
336 | 333 | ||
337 | void Bartender::doEdit() { | 334 | void Bartender::doEdit() { |
338 | if(DrinkView->currentItem() == NULL) { | 335 | if(DrinkView->currentItem() == NULL) { |
339 | fileNew(); | 336 | fileNew(); |
340 | } | 337 | } |
341 | 338 | ||
342 | QString myDrink; | 339 | QString myDrink; |
343 | myDrink= DrinkView->currentItem()->text(0); | 340 | myDrink= DrinkView->currentItem()->text(0); |
344 | dbFile.at(0); | 341 | dbFile.at(0); |
345 | int foundAt=0; | 342 | int foundAt=0; |
346 | New_Drink *newDrinks; | 343 | New_Drink *newDrinks; |
347 | newDrinks = new New_Drink(this,"Edit Drink....", TRUE); | 344 | newDrinks = new New_Drink(this,"Edit Drink....", TRUE); |
348 | QString newName, newIng; | 345 | QString newName, newIng; |
349 | newDrinks->showMaximized(); | 346 | QPEApplication::showDialog( newDrinks ); |
350 | QTextStream t( &dbFile); | 347 | QTextStream t( &dbFile); |
351 | 348 | ||
352 | QString s, s2; | 349 | QString s, s2; |
353 | while ( !t.eof()) { | 350 | while ( !t.eof()) { |
354 | s = t.readLine(); | 351 | s = t.readLine(); |
355 | if(s.find( myDrink, 0, TRUE) != -1) { | 352 | if(s.find( myDrink, 0, TRUE) != -1) { |
356 | foundAt = dbFile.at() - (s.length()+1); | 353 | foundAt = dbFile.at() - (s.length()+1); |
357 | for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { | 354 | for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { |
358 | s2 = t.readLine(); | 355 | s2 = t.readLine(); |
359 | if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { | 356 | if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { |
360 | // qDebug(s2); | 357 | // qDebug(s2); |
361 | newDrinks->MultiLineEdit1->append(s2); | 358 | newDrinks->MultiLineEdit1->append(s2); |
362 | newDrinks->LineEdit1->setText(myDrink); | 359 | newDrinks->LineEdit1->setText(myDrink); |
363 | } | 360 | } |
364 | if( dbFile.atEnd() ) break; | 361 | if( dbFile.atEnd() ) break; |
365 | } | 362 | } |
366 | } | 363 | } |
367 | } | 364 | } |
368 | newDrinks->exec(); | 365 | newDrinks->exec(); |
369 | newName = newDrinks->LineEdit1->text(); | 366 | newName = newDrinks->LineEdit1->text(); |
370 | newIng= newDrinks->MultiLineEdit1->text(); | 367 | newIng= newDrinks->MultiLineEdit1->text(); |
371 | 368 | ||
372 | if( newDrinks ->result() == 1 ) { | 369 | if( newDrinks ->result() == 1 ) { |
373 | if(dbFile.isOpen()) | 370 | if(dbFile.isOpen()) |
374 | dbFile.close(); | 371 | dbFile.close(); |
375 | if ( !dbFile.open( IO_ReadWrite )) { | 372 | if ( !dbFile.open( IO_ReadWrite )) { |
@@ -380,50 +377,49 @@ void Bartender::doEdit() { | |||
380 | lseek( fd, foundAt, SEEK_SET); | 377 | lseek( fd, foundAt, SEEK_SET); |
381 | 378 | ||
382 | // dbFile.at( foundAt); | 379 | // dbFile.at( foundAt); |
383 | #warning FIXME problems with editing drinks db | 380 | #warning FIXME problems with editing drinks db |
384 | ////////// FIXME write to user file | 381 | ////////// FIXME write to user file |
385 | QString newDrink="# "+newName+"\n"; | 382 | QString newDrink="# "+newName+"\n"; |
386 | newDrink.append(newIng+"\n"); | 383 | newDrink.append(newIng+"\n"); |
387 | qDebug("writing "+newDrink); | 384 | qDebug("writing "+newDrink); |
388 | dbFile.writeBlock( newDrink.latin1(), newDrink.length()); | 385 | dbFile.writeBlock( newDrink.latin1(), newDrink.length()); |
389 | clearList(); | 386 | clearList(); |
390 | 387 | ||
391 | dbFile.flush(); | 388 | dbFile.flush(); |
392 | 389 | ||
393 | initDrinkDb(); | 390 | initDrinkDb(); |
394 | } | 391 | } |
395 | } | 392 | } |
396 | 393 | ||
397 | void Bartender::clearList() { | 394 | void Bartender::clearList() { |
398 | DrinkView->clear(); | 395 | DrinkView->clear(); |
399 | } | 396 | } |
400 | 397 | ||
401 | void Bartender::doBac() { | 398 | void Bartender::doBac() { |
402 | BacDialog *bacDlg; | 399 | BacDialog *bacDlg; |
403 | bacDlg = new BacDialog(this,"BAC",TRUE); | 400 | bacDlg = new BacDialog(this,"BAC",TRUE); |
404 | bacDlg->showMaximized(); | 401 | QPEApplication::execDialog( bacDlg ); |
405 | bacDlg->exec(); | ||
406 | delete bacDlg; | 402 | delete bacDlg; |
407 | } | 403 | } |
408 | 404 | ||
409 | void Bartender::openCurrentDrink() { | 405 | void Bartender::openCurrentDrink() { |
410 | if(DrinkView->currentItem() == NULL) return; | 406 | if(DrinkView->currentItem() == NULL) return; |
411 | showDrink(DrinkView->currentItem()); | 407 | showDrink(DrinkView->currentItem()); |
412 | } | 408 | } |
413 | 409 | ||
414 | void Bartender::fileMenuActivated( int item) { | 410 | void Bartender::fileMenuActivated( int item) { |
415 | qDebug("Item %d", item); | 411 | qDebug("Item %d", item); |
416 | switch(item) { | 412 | switch(item) { |
417 | case -3: // new -3 | 413 | case -3: // new -3 |
418 | fileNew(); | 414 | fileNew(); |
419 | break; | 415 | break; |
420 | case -4:// open -4 | 416 | case -4:// open -4 |
421 | openCurrentDrink(); | 417 | openCurrentDrink(); |
422 | break; | 418 | break; |
423 | case -5:// drink -5 | 419 | case -5:// drink -5 |
424 | doSearchByName(); | 420 | doSearchByName(); |
425 | 421 | ||
426 | break; | 422 | break; |
427 | case -6:// alcohol -6 | 423 | case -6:// alcohol -6 |
428 | doSearchByDrink(); | 424 | doSearchByDrink(); |
429 | 425 | ||