summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-bartender/bartender.cpp
Unidiff
Diffstat (limited to 'noncore/apps/opie-bartender/bartender.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-bartender/bartender.cpp16
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() {
148void Bartender::fillList() { 148void 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
167void Bartender::fileNew() { 167void 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
196void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { 195void 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
207void Bartender::showDrink( QListViewItem *item) { 206void 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
238void Bartender::askSearch() { 236void 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 */
252void Bartender::doSearchByName() { 250void 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
313void Bartender::showSearchResult(QStringList &searchList) { 311void 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 }
334delete searchDlg; 331delete searchDlg;
335} 332}
336 333
337void Bartender::doEdit() { 334void 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
397void Bartender::clearList() { 394void Bartender::clearList() {
398 DrinkView->clear(); 395 DrinkView->clear();
399} 396}
400 397
401void Bartender::doBac() { 398void 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
409void Bartender::openCurrentDrink() { 405void 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
414void Bartender::fileMenuActivated( int item) { 410void 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