summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-gutenbrowser/LibraryDialog.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
index 9858188..6c246e97 100644
--- a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
+++ b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp
@@ -389,664 +389,665 @@ void LibraryDialog::select_title( QListViewItem * item)
389 case 3: { 389 case 3: {
390 ListView4->clearSelection(); 390 ListView4->clearSelection();
391 } 391 }
392 break; 392 break;
393 case 4: { 393 case 4: {
394 ListView5->clearSelection(); 394 ListView5->clearSelection();
395 } 395 }
396 break; 396 break;
397 }; 397 };
398 } 398 }
399 399
400 if(DlglistItemTitle.length() > 2) { 400 if(DlglistItemTitle.length() > 2) {
401 item = 0; 401 item = 0;
402 // todo check for connection here 402 // todo check for connection here
403 403
404 bool ok = false; 404 bool ok = false;
405 qDebug(DlglistItemFile); 405 qDebug(DlglistItemFile);
406 406
407 if(DlglistItemFile.toInt() > 10000 ) { 407 if(DlglistItemFile.toInt() > 10000 ) {
408 // new directory sturcture 408 // new directory sturcture
409 if( download_newEtext()) 409 if( download_newEtext())
410 ok = true; 410 ok = true;
411 } else { 411 } else {
412 if(download_Etext()) 412 if(download_Etext())
413 ok = true; 413 ok = true;
414 } 414 }
415 if(ok) { 415 if(ok) {
416 if(checkBox->isChecked () ) 416 if(checkBox->isChecked () )
417 accept(); 417 accept();
418 } 418 }
419 } 419 }
420} 420}
421 421
422bool LibraryDialog::download_newEtext() 422bool LibraryDialog::download_newEtext()
423{ // ftp method 423{ // ftp method
424 QString fileName = DlglistItemFile; 424 QString fileName = DlglistItemFile;
425 425
426 QString directory; 426 QString directory;
427 int stringlength = DlglistItemFile.length(); 427 int stringlength = DlglistItemFile.length();
428 for(i = 0; i < stringlength - 1; i++ ) { 428 for(i = 0; i < stringlength - 1; i++ ) {
429 directory += "/"+ DlglistItemFile[i]; 429 directory += "/"+ DlglistItemFile[i];
430 } 430 }
431 431
432 directory += "/" + DlglistItemFile; 432 directory += "/" + DlglistItemFile;
433 433
434// qWarning(directory); 434// qWarning(directory);
435 435
436 Config cfg("Gutenbrowser"); 436 Config cfg("Gutenbrowser");
437 cfg.setGroup("FTPsite"); 437 cfg.setGroup("FTPsite");
438 ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); 438 ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org");
439 ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); 439 ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg");
440 440
441 if( ftp_base_dir.find("=",0,true) ) 441 if( ftp_base_dir.find("=",0,true) )
442 ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); 442 ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1);
443 443
444 QString dir = ftp_base_dir + directory; 444 QString dir = ftp_base_dir + directory;
445 QString outputFile = local_library + ".guten_temp"; 445 QString outputFile = local_library + ".guten_temp";
446 QString file = fileName + ".txt"; 446 QString file = fileName + ".txt";
447 447
448 QStringList networkList; 448 QStringList networkList;
449 networkList.append((const char *)ftp_host); //host 449 networkList.append((const char *)ftp_host); //host
450 networkList.append((const char *)dir); //ftp base directory 450 networkList.append((const char *)dir); //ftp base directory
451 networkList.append((const char *)outputFile); //output filepath 451 networkList.append((const char *)outputFile); //output filepath
452 networkList.append((const char *)file); //filename 452 networkList.append((const char *)file); //filename
453 453
454 getEtext( networkList); 454 getEtext( networkList);
455 455
456 return true; 456 return true;
457} 457}
458 458
459bool LibraryDialog::getEtext(const QStringList &networkList) 459bool LibraryDialog::getEtext(const QStringList &networkList)
460{ 460{
461 NetworkDialog *NetworkDlg; 461 NetworkDialog *NetworkDlg;
462 NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", true, 0, networkList); 462 NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", true, 0, networkList);
463 463
464// use new, improved, *INSTANT* network-dialog-file-getterer 464// use new, improved, *INSTANT* network-dialog-file-getterer
465 if( NetworkDlg->exec() != 0 ) { 465 if( NetworkDlg->exec() != 0 ) {
466 File_Name = NetworkDlg->localFileName; 466 File_Name = NetworkDlg->localFileName;
467 467
468 qDebug("Just downloaded " + NetworkDlg->localFileName); 468 qDebug("Just downloaded " + NetworkDlg->localFileName);
469 469
470 if(NetworkDlg->successDownload) { 470 if(NetworkDlg->successDownload) {
471 //odebug << "Filename is "+File_Name << oendl; 471 //odebug << "Filename is "+File_Name << oendl;
472 if(File_Name.right(4) == ".txt") { 472 if(File_Name.right(4) == ".txt") {
473 QString s_fileName = File_Name; 473 QString s_fileName = File_Name;
474 s_fileName.replace( s_fileName.length() - 3, 3, "gtn"); 474 s_fileName.replace( s_fileName.length() - 3, 3, "gtn");
475 // s_fileName.replace( s_fileName.length()-3,3,"etx"); 475 // s_fileName.replace( s_fileName.length()-3,3,"etx");
476 rename( File_Name.latin1(), s_fileName.latin1()); 476 rename( File_Name.latin1(), s_fileName.latin1());
477 File_Name = s_fileName; 477 File_Name = s_fileName;
478 478
479 //odebug << "Filename is now "+File_Name << oendl; 479 //odebug << "Filename is now "+File_Name << oendl;
480 480
481 } 481 }
482 if(File_Name.length() > 5 ) { 482 if(File_Name.length() > 5 ) {
483 setTitle(); 483 setTitle();
484 QFileInfo fi(File_Name); 484 QFileInfo fi(File_Name);
485 QString name_file = fi.fileName(); 485 QString name_file = fi.fileName();
486 name_file = name_file.left( name_file.length() - 4); 486 name_file = name_file.left( name_file.length() - 4);
487 487
488 //odebug << "Setting doclink" << oendl; 488 //odebug << "Setting doclink" << oendl;
489 DocLnk lnk; 489 DocLnk lnk;
490 //odebug << "name is "+name_file << oendl; 490 //odebug << "name is "+name_file << oendl;
491 lnk.setName(name_file); //sets file name 491 lnk.setName(name_file); //sets file name
492 //odebug << "Title is "+DlglistItemTitle << oendl; 492 //odebug << "Title is "+DlglistItemTitle << oendl;
493 lnk.setComment(DlglistItemTitle); 493 lnk.setComment(DlglistItemTitle);
494 494
495 //odebug << "Filename is "+File_Name << oendl; 495 //odebug << "Filename is "+File_Name << oendl;
496 lnk.setFile(File_Name); //sets File property 496 lnk.setFile(File_Name); //sets File property
497 lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D 497 lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D
498 lnk.setExec(File_Name); 498 lnk.setExec(File_Name);
499 lnk.setIcon("gutenbrowser/Gutenbrowser"); 499 lnk.setIcon("gutenbrowser/Gutenbrowser");
500 if(!lnk.writeLink()) { 500 if(!lnk.writeLink()) {
501 //odebug << "Writing doclink did not work" << oendl; 501 //odebug << "Writing doclink did not work" << oendl;
502 } else { 502 } else {
503 } 503 }
504 } else 504 } else
505 QMessageBox::message("Note","<p>There was an error with the file</p>"); 505 QMessageBox::message("Note","<p>There was an error with the file</p>");
506 } 506 }
507 } 507 }
508 508
509 return true; 509 return true;
510} 510}
511 511
512bool LibraryDialog::download_Etext() 512bool LibraryDialog::download_Etext()
513{ // ftp method 513{ // ftp method
514 // might have to use old gpl'd ftp for embedded!! 514 // might have to use old gpl'd ftp for embedded!!
515 515
516 Config cfg("Gutenbrowser"); 516 Config cfg("Gutenbrowser");
517 cfg.setGroup("FTPsite"); 517 cfg.setGroup("FTPsite");
518 ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org"); 518 ftp_host = cfg.readEntry("SiteName", "sailor.gutenberg.org");
519 ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg"); 519 ftp_base_dir = cfg.readEntry("base", "/pub/gutenberg");
520 520
521 qDebug( "about to network dialog"); 521 qDebug( "about to network dialog");
522 522
523 QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, /*networkUrl, */outputFile; 523 QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, /*networkUrl, */outputFile;
524 524
525 //////////////////// FIXME- if 'x' is part of real name.... 525 //////////////////// FIXME- if 'x' is part of real name....
526 NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).find("x", 1, false)); 526 NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, false)).find("x", 1, false));
527 527
528 if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,true) ==-1 ) { 528 if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,true) ==-1 ) {
529 NewlistItemFile.replace( 0,4, DlglistItemFile.left(4)); 529 NewlistItemFile.replace( 0,4, DlglistItemFile.left(4));
530 qDebug("NewlistItemFile is now " + NewlistItemFile); 530 qDebug("NewlistItemFile is now " + NewlistItemFile);
531 } 531 }
532 532
533 NewlistItemYear = DlglistItemYear.right(2); 533 NewlistItemYear = DlglistItemYear.right(2);
534 int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10); 534 int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10);
535 //odebug << NewlistItemYear << oendl; 535 //odebug << NewlistItemYear << oendl;
536 if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) { 536 if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) {
537 NewlistItemYear = "90"; 537 NewlistItemYear = "90";
538 } 538 }
539 539
540 Edir ="etext" +NewlistItemYear; 540 Edir ="etext" +NewlistItemYear;
541 541
542 dir = ftp_base_dir + "/etext" + NewlistItemYear + "/"; 542 dir = ftp_base_dir + "/etext" + NewlistItemYear + "/";
543 543
544 if( ftp_base_dir.find("=",0,true) ) 544 if( ftp_base_dir.find("=",0,true) )
545 ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1); 545 ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1);
546 546
547// networkUrl = "ftp://"+ftp_host+dir; 547// networkUrl = "ftp://"+ftp_host+dir;
548 548
549 outputFile = local_library+".guten_temp"; 549 outputFile = local_library+".guten_temp";
550 550
551 qDebug( "Download file: " +NewlistItemFile); 551 qDebug( "Download file: " +NewlistItemFile);
552 qDebug("Checking: " + ftp_host + " " + dir + " " + outputFile+" " + NewlistItemFile); 552 qDebug("Checking: " + ftp_host + " " + dir + " " + outputFile+" " + NewlistItemFile);
553 553
554 554
555 QStringList networkList; 555 QStringList networkList;
556 networkList.append((const char *)ftp_host); //host 556 networkList.append((const char *)ftp_host); //host
557 networkList.append((const char *)dir); //ftp base directory 557 networkList.append((const char *)dir); //ftp base directory
558 networkList.append((const char *)outputFile); //output filepath 558 networkList.append((const char *)outputFile); //output filepath
559 networkList.append((const char *)NewlistItemFile); //filename 559 networkList.append((const char *)NewlistItemFile); //filename
560//<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile; 560//<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile;
561 getEtext( networkList); 561 getEtext( networkList);
562 562
563 return true; 563 return true;
564} 564}
565 565
566bool LibraryDialog::httpDownload() 566bool LibraryDialog::httpDownload()
567{// httpDownload 567{// httpDownload
568#ifndef Q_WS_QWS 568#ifndef Q_WS_QWS
569 Config config("Gutenbrowser"); 569 Config config("Gutenbrowser");
570 config.setGroup( "Browser" ); 570 config.setGroup( "Browser" );
571 QString brow = config.readEntry("Preferred", ""); 571 QString brow = config.readEntry("Preferred", "");
572 QString file_name = "./.guten_temp"; 572 QString file_name = "./.guten_temp";
573 // config.setGroup( "HttpServer" ); 573 // config.setGroup( "HttpServer" );
574 // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org"); 574 // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
575 QString httpName = proxy_http + "/"+Edir; 575 QString httpName = proxy_http + "/"+Edir;
576 // progressBar->setProgress( i); 576 // progressBar->setProgress( i);
577 i++; 577 i++;
578 if ( brow != "Konq") { /////////// use lynx 578 if ( brow != "Konq") { /////////// use lynx
579 // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name; 579 // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name;
580 // system(cmd); 580 // system(cmd);
581 } else { //////////// use KFM 581 } else { //////////// use KFM
582 // KFM::download( httpName, file_name); 582 // KFM::download( httpName, file_name);
583 } 583 }
584 i++; 584 i++;
585 QFile tmp( file_name); 585 QFile tmp( file_name);
586 QString str; 586 QString str;
587 if (tmp.open(IO_ReadOnly)) { 587 if (tmp.open(IO_ReadOnly)) {
588 QTextStream t( &tmp ); // use a text stream 588 QTextStream t( &tmp ); // use a text stream
589 while ( !t.eof()) { 589 while ( !t.eof()) {
590 QString s = t.readLine(); 590 QString s = t.readLine();
591 if (s.contains( NewlistItemFile, false) && (s.contains(".txt")) ) { 591 if (s.contains( NewlistItemFile, false) && (s.contains(".txt")) ) {
592 str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, true)+6, (s.find( ".txt</A>", 0, true) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, true)+6 ) ); 592 str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, true)+6, (s.find( ".txt</A>", 0, true) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, true)+6 ) );
593 httpName += "/" + str; 593 httpName += "/" + str;
594 } 594 }
595 } //end of while loop 595 } //end of while loop
596 } 596 }
597 tmp.close(); 597 tmp.close();
598 m_getFilePath = local_library + str; 598 m_getFilePath = local_library + str;
599 i++; 599 i++;
600 if ( brow != "KFM"){ ///////// use lynx 600 if ( brow != "KFM"){ ///////// use lynx
601 QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath; 601 QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath;
602 // QMessageBox::message("Error", cmd); 602 // QMessageBox::message("Error", cmd);
603 system(cmd); 603 system(cmd);
604 } else { ////////// use KFM 604 } else { ////////// use KFM
605 // KFM::download( httpName, m_getFilePath); 605 // KFM::download( httpName, m_getFilePath);
606 } 606 }
607 i++; 607 i++;
608#endif 608#endif
609 return false; 609 return false;
610} 610}
611 611
612void LibraryDialog::cancelIt() 612void LibraryDialog::cancelIt()
613{ 613{
614 saveConfig(); 614 saveConfig();
615 615
616 DlglistItemNumber = ""; 616 DlglistItemNumber = "";
617 this->reject(); 617 this->reject();
618} 618}
619 619
620bool LibraryDialog::setTitle() 620bool LibraryDialog::setTitle()
621{ 621{
622 Config config("Gutenbrowser"); 622 Config config("Gutenbrowser");
623 //odebug << "setting title" << oendl; 623 //odebug << "setting title" << oendl;
624 //odebug << DlglistItemTitle << oendl; 624 //odebug << DlglistItemTitle << oendl;
625 625
626 if( DlglistItemTitle.find("[",0,true) != -1) 626 if( DlglistItemTitle.find("[",0,true) != -1)
627 DlglistItemTitle.replace(DlglistItemTitle.find("[",0,true),1, "(" ); 627 DlglistItemTitle.replace(DlglistItemTitle.find("[",0,true),1, "(" );
628 if( DlglistItemTitle.find("]",0,true) !=-1) 628 if( DlglistItemTitle.find("]",0,true) !=-1)
629 DlglistItemTitle.replace(DlglistItemTitle.find("]",0,true),1, ")" ); 629 DlglistItemTitle.replace(DlglistItemTitle.find("]",0,true),1, ")" );
630 //odebug << "Title being set is "+DlglistItemTitle << oendl; 630 //odebug << "Title being set is "+DlglistItemTitle << oendl;
631 int test = 0; 631 int test = 0;
632 QString ramble, temp; 632 QString ramble, temp;
633 config.setGroup("Files"); 633 config.setGroup("Files");
634 QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); 634 QString s_numofFiles = config.readEntry("NumberOfFiles", "0" );
635 int i_numofFiles = s_numofFiles.toInt(); 635 int i_numofFiles = s_numofFiles.toInt();
636 for ( int i = 0; i <= i_numofFiles; i++){ 636 for ( int i = 0; i <= i_numofFiles; i++){
637 temp.setNum( i); 637 temp.setNum( i);
638 ramble = config.readEntry( temp, "" ); 638 ramble = config.readEntry( temp, "" );
639 if( strcmp( ramble, File_Name) == 0){ 639 if( strcmp( ramble, File_Name) == 0){
640 test = 1; 640 test = 1;
641 } 641 }
642 } 642 }
643 643
644 if(test == 0 ) { 644 if(test == 0 ) {
645 645
646 config.setGroup("Files"); 646 config.setGroup("Files");
647 config.writeEntry( "NumberOfFiles", i_numofFiles +1 ); 647 config.writeEntry( "NumberOfFiles", i_numofFiles +1 );
648 QString interger; 648 QString interger;
649 interger.setNum( i_numofFiles +1); 649 interger.setNum( i_numofFiles +1);
650 config.writeEntry( interger, File_Name); 650 config.writeEntry( interger, File_Name);
651 config.setGroup( "Titles" ); 651 config.setGroup( "Titles" );
652 config.writeEntry( File_Name, DlglistItemTitle); 652 config.writeEntry( File_Name, DlglistItemTitle);
653 } 653 }
654 test = 0; 654 test = 0;
655 return true; 655 return true;
656} 656}
657 657
658 658
659void LibraryDialog::saveConfig() 659void LibraryDialog::saveConfig()
660{ 660{
661 Config config("Gutenbrowser"); 661 Config config("Gutenbrowser");
662 if( httpBox->isChecked() == true) { 662 if( httpBox->isChecked() == true) {
663 checked = 1; 663 checked = 1;
664 config.setGroup( "Proxy" ); 664 config.setGroup( "Proxy" );
665 config.writeEntry("IsChecked", "true"); 665 config.writeEntry("IsChecked", "true");
666 } else { 666 } else {
667 checked = 0; 667 checked = 0;
668 config.setGroup( "Proxy" ); 668 config.setGroup( "Proxy" );
669 config.writeEntry("IsChecked", "false"); 669 config.writeEntry("IsChecked", "false");
670 } 670 }
671 if (authBox->isChecked() == true) { 671 if (authBox->isChecked() == true) {
672 config.setGroup("SortAuth"); 672 config.setGroup("SortAuth");
673 config.writeEntry("authSort", "true"); 673 config.writeEntry("authSort", "true");
674 } else { 674 } else {
675 config.setGroup("SortAuth"); 675 config.setGroup("SortAuth");
676 config.writeEntry("authSort", "false"); 676 config.writeEntry("authSort", "false");
677 } 677 }
678 // config.write(); 678 // config.write();
679} 679}
680 680
681/* 681/*
682 searches library index for user word*/ 682 searches library index for user word*/
683void LibraryDialog::onButtonSearch() 683void LibraryDialog::onButtonSearch()
684{ 684{
685 ListView1->clearSelection(); 685 ListView1->clearSelection();
686 ListView2->clearSelection(); 686 ListView2->clearSelection();
687 ListView3->clearSelection(); 687 ListView3->clearSelection();
688 ListView4->clearSelection(); 688 ListView4->clearSelection();
689 ListView5->clearSelection(); 689 ListView5->clearSelection();
690 690
691 int curTab = tabWidget->currentPageIndex(); 691 int curTab = tabWidget->currentPageIndex();
692 SearchDialog* searchDlg; 692 SearchDialog* searchDlg;
693 693
694 // if( resultsList) 694 // if( resultsList)
695 searchDlg = new SearchDialog( this, "Library Search", true); 695 searchDlg = new SearchDialog( this, "Library Search", true);
696 searchDlg->setCaption( tr( "Library Search" ) ); 696 searchDlg->setCaption( tr( "Library Search" ) );
697 searchDlg->setLabel( "- author or title"); 697 searchDlg->setLabel( "- author or title");
698 698
699 QString resultString; 699 QString resultString;
700 700
701 int i_berger = 0; 701 int i_berger = 0;
702 if( searchDlg->exec() != 0 ) { 702 if( searchDlg->exec() != 0 ) {
703 QString searcherStr = searchDlg->get_text(); 703 QString searcherStr = searchDlg->get_text();
704 int fluff = 0; 704 int fluff = 0;
705 705
706 bool cS; 706 bool cS;
707 if( searchDlg->caseSensitiveCheckBox->isChecked()) 707 if( searchDlg->caseSensitiveCheckBox->isChecked())
708 cS = true; //case sensitive 708 cS = true; //case sensitive
709 else 709 else
710 cS = false; 710 cS = false;
711 711
712 etext etextStruct; 712 etext etextStruct;
713 QValueList<etext>::Iterator it; 713 QValueList<etext>::Iterator it;
714 714
715 for( it = etextLibrary.begin(); it != etextLibrary.end(); ++it ) { 715 for( it = etextLibrary.begin(); it != etextLibrary.end(); ++it ) {
716 QString tempTitle = (*it).title; 716 QString tempTitle = (*it).title;
717 QString tempAuthor = (*it).author; 717 QString tempAuthor = (*it).author;
718 QString tempFile = (*it).file; 718 QString tempFile = (*it).file;
719 QString tempYear = (*it).year; 719 QString tempYear = (*it).year;
720 if(tempTitle.find( searcherStr, 0, cS) != -1 720 if(tempTitle.find( searcherStr, 0, cS) != -1
721 || tempAuthor.find( searcherStr, 0, cS) != -1) { 721 || tempAuthor.find( searcherStr, 0, cS) != -1) {
722 qWarning(tempTitle); 722 qWarning(tempTitle);
723 Searchlist.append( tempTitle + " : " + tempYear + " : " + tempFile); 723 Searchlist.append( tempTitle + " : " + tempYear + " : " + tempFile);
724 } 724 }
725 } 725 }
726 726
727 727
728 tabWidget->setCurrentPage( curTab); 728 tabWidget->setCurrentPage( curTab);
729 729
730 Searchlist.sort(); 730 Searchlist.sort();
731 SearchResultsDlg* SearchResultsDialog; 731 SearchResultsDlg* SearchResultsDialog;
732 SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist); 732 SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist);
733 733
734 SearchResultsDialog->showMaximized(); 734 SearchResultsDialog->showMaximized();
735 if( SearchResultsDialog->exec() != 0) { 735 if( SearchResultsDialog->exec() != 0) {
736 texter = SearchResultsDialog->selText; 736 texter = SearchResultsDialog->selText;
737 // //odebug << texter << oendl; 737 // //odebug << texter << oendl;
738 resultLs = SearchResultsDialog->resultsList; 738 resultLs = SearchResultsDialog->resultsList;
739 i_berger = 1; 739 i_berger = 1;
740 } else { 740 } else {
741 resultLs.clear(); 741 resultLs.clear();
742 } 742 }
743 Searchlist.clear(); 743 Searchlist.clear();
744 744
745 QString tester; 745 QString tester;
746 for ( QStringList::Iterator it = resultLs.begin(); it != resultLs.end(); ++it ) { 746 for ( QStringList::Iterator it = resultLs.begin(); it != resultLs.end(); ++it ) {
747 texter.sprintf("%s \n",(*it).latin1()); 747 texter.sprintf("%s \n",(*it).latin1());
748 // //odebug << texter << oendl; 748 // //odebug << texter << oendl;
749 if( tester!=texter) 749 if( tester!=texter)
750 parseSearchResults( texter); 750 parseSearchResults( texter);
751 tester = texter; 751 tester = texter;
752 } 752 }
753 if(searchDlg) 753 if(searchDlg)
754 delete searchDlg; 754 delete searchDlg;
755 } 755 }
756 if(checkBox->isChecked() ) { 756 if(checkBox->isChecked() ) {
757 accept(); 757 accept();
758 } else { 758 } else {
759 setActiveWindow(); 759 setActiveWindow();
760 } 760 }
761} 761}
762 762
763/* 763/*
764 splits the result string and calls download for the current search result*/ 764 splits the result string and calls download for the current search result*/
765void LibraryDialog::parseSearchResults( QString resultStr) 765void LibraryDialog::parseSearchResults( QString resultStr)
766{ 766{
767 int stringLeng = resultStr.length(); 767 int stringLeng = resultStr.length();
768 768
769 QString my; 769 QString my;
770 my.setNum( stringLeng, 10); 770 my.setNum( stringLeng, 10);
771 771
772 if( resultStr.length() > 2 && resultStr.length() < 130) { 772 if( resultStr.length() > 2 && resultStr.length() < 130) {
773 QStringList token = QStringList::split(" : ", resultStr);
773 774
774 int titleInt = resultStr.find( " : ", 0, true); 775 DlglistItemTitle = token[0];
775 DlglistItemTitle = resultStr.left( titleInt); 776 DlglistItemTitle = DlglistItemTitle.stripWhiteSpace();
776 777
777 int yearInt = resultStr.find( " : ", titleInt+3, true); 778 DlglistItemYear = token[1];
778 779 DlglistItemYear = DlglistItemYear.stripWhiteSpace();
779 DlglistItemYear = resultStr.mid( titleInt+3, (yearInt - titleInt)-3); 780
780 781 DlglistItemFile = token[2];
781 DlglistItemFile = resultStr.right( resultStr.length() - (yearInt + 3)); 782
782 DlglistItemFile = DlglistItemFile.left( DlglistItemFile.length() - 2); 783 DlglistItemFile = DlglistItemFile.stripWhiteSpace();
783 784
784 cleanStrings(); 785// qWarning(DlglistItemYear);
786
785 787
786 if(DlglistItemFile.left(1) == "/") 788 if(DlglistItemFile.left(1) == "/")
787 DlglistItemFile = DlglistItemFile.right( DlglistItemFile.length() - 1); 789 DlglistItemFile = DlglistItemFile.right( DlglistItemFile.length() - 1);
788 790
789 791 if(DlglistItemFile.toInt() > 10000 || DlglistItemYear == "1980" ) {
790 if(DlglistItemFile.toInt() > 10000 || yearInt == 1980 ) {
791 // new directory sturcture 792 // new directory sturcture
792 download_newEtext(); //) 793 download_newEtext(); //)
793 } else { 794 } else {
794 download_Etext(); //) 795 download_Etext(); //)
795 } 796 }
796 } 797 }
797} 798}
798 799
799void LibraryDialog::sortLists(int index) 800void LibraryDialog::sortLists(int index)
800{ 801{
801 802
802 ListView1->setSorting(index); 803 ListView1->setSorting(index);
803 ListView2->setSorting(index); 804 ListView2->setSorting(index);
804 ListView3->setSorting(index); 805 ListView3->setSorting(index);
805 ListView4->setSorting(index); 806 ListView4->setSorting(index);
806 ListView5->setSorting(index); 807 ListView5->setSorting(index);
807 ListView1->sort(); 808 ListView1->sort();
808 ListView2->sort(); 809 ListView2->sort();
809 ListView3->sort(); 810 ListView3->sort();
810 ListView4->sort(); 811 ListView4->sort();
811 ListView5->sort(); 812 ListView5->sort();
812} 813}
813 814
814/* 815/*
815 Downloads the current selected listitem*/ 816 Downloads the current selected listitem*/
816bool LibraryDialog::getItem(QListViewItem *it) 817bool LibraryDialog::getItem(QListViewItem *it)
817{ 818{
818 // //odebug << "selected getItem" << oendl; 819 // //odebug << "selected getItem" << oendl;
819 820
820 // DlglistItemNumber = it->text(0); 821 // DlglistItemNumber = it->text(0);
821 DlglistItemTitle = it->text(0); 822 DlglistItemTitle = it->text(0);
822 DlglistItemYear = it->text(2); 823 DlglistItemYear = it->text(2);
823 DlglistItemFile = it->text(3); 824 DlglistItemFile = it->text(3);
824 825
825 if(download_Etext()) { 826 if(download_Etext()) {
826 if(i_binary == 1) { 827 if(i_binary == 1) {
827 } 828 }
828 } 829 }
829 return true; 830 return true;
830} 831}
831 832
832/* 833/*
833 download button is pushed so we get the current items to download*/ 834 download button is pushed so we get the current items to download*/
834bool LibraryDialog::onButtonDownload() 835bool LibraryDialog::onButtonDownload()
835{ 836{
836 // //odebug << "selected onButtonDownloadz" << oendl; 837 // //odebug << "selected onButtonDownloadz" << oendl;
837 838
838 QListViewItemIterator it1( ListView1 ); 839 QListViewItemIterator it1( ListView1 );
839 QListViewItemIterator it2( ListView2 ); 840 QListViewItemIterator it2( ListView2 );
840 QListViewItemIterator it3( ListView3 ); 841 QListViewItemIterator it3( ListView3 );
841 QListViewItemIterator it4( ListView4 ); 842 QListViewItemIterator it4( ListView4 );
842 QListViewItemIterator it5( ListView5 ); 843 QListViewItemIterator it5( ListView5 );
843 844
844 // iterate through all items of the listview 845 // iterate through all items of the listview
845 for ( ; it1.current(); ++it1 ) { 846 for ( ; it1.current(); ++it1 ) {
846 if ( it1.current()->isSelected() ) 847 if ( it1.current()->isSelected() )
847 getItem(it1.current()); 848 getItem(it1.current());
848 it1.current()->setSelected(false); 849 it1.current()->setSelected(false);
849 } 850 }
850 for ( ; it2.current(); ++it2 ) { 851 for ( ; it2.current(); ++it2 ) {
851 if ( it2.current()->isSelected() ) 852 if ( it2.current()->isSelected() )
852 getItem(it2.current()); 853 getItem(it2.current());
853 it2.current()->setSelected(false); 854 it2.current()->setSelected(false);
854 } 855 }
855 for ( ; it3.current(); ++it3 ) { 856 for ( ; it3.current(); ++it3 ) {
856 if ( it3.current()->isSelected() ) 857 if ( it3.current()->isSelected() )
857 getItem(it3.current()); 858 getItem(it3.current());
858 it3.current()->setSelected(false); 859 it3.current()->setSelected(false);
859 } 860 }
860 for ( ; it4.current(); ++it4 ) { 861 for ( ; it4.current(); ++it4 ) {
861 if ( it4.current()->isSelected() ) 862 if ( it4.current()->isSelected() )
862 getItem(it4.current()); 863 getItem(it4.current());
863 it4.current()->setSelected(false); 864 it4.current()->setSelected(false);
864 } 865 }
865 for ( ; it5.current(); ++it5 ) { 866 for ( ; it5.current(); ++it5 ) {
866 if ( it5.current()->isSelected() ) 867 if ( it5.current()->isSelected() )
867 getItem(it5.current()); 868 getItem(it5.current());
868 it5.current()->setSelected(false); 869 it5.current()->setSelected(false);
869 } 870 }
870 return true; 871 return true;
871} 872}
872 873
873 874
874/* 875/*
875 handles the sorting combo box */ 876 handles the sorting combo box */
876void LibraryDialog::comboSelect(int index) 877void LibraryDialog::comboSelect(int index)
877{ 878{
878 // //odebug << "we are sorting" << oendl; 879 // //odebug << "we are sorting" << oendl;
879 ListView1->setSorting( index, true); 880 ListView1->setSorting( index, true);
880 ListView2->setSorting( index, true); 881 ListView2->setSorting( index, true);
881 ListView3->setSorting( index, true); 882 ListView3->setSorting( index, true);
882 ListView4->setSorting( index, true); 883 ListView4->setSorting( index, true);
883 ListView5->setSorting( index, true); 884 ListView5->setSorting( index, true);
884 885
885 ListView1->sort(); 886 ListView1->sort();
886 ListView2->sort(); 887 ListView2->sort();
887 ListView3->sort(); 888 ListView3->sort();
888 ListView4->sort(); 889 ListView4->sort();
889 ListView5->sort(); 890 ListView5->sort();
890 891
891 // ListView1->triggerUpdate(); 892 // ListView1->triggerUpdate();
892 // ListView2->triggerUpdate(); 893 // ListView2->triggerUpdate();
893 // ListView3->triggerUpdate(); 894 // ListView3->triggerUpdate();
894 // ListView4->triggerUpdate(); 895 // ListView4->triggerUpdate();
895 // ListView5->triggerUpdate(); 896 // ListView5->triggerUpdate();
896} 897}
897 898
898void LibraryDialog::newList() 899void LibraryDialog::newList()
899{ 900{
900 if(indexLoaded) { 901 if(indexLoaded) {
901 onButtonDownload(); 902 onButtonDownload();
902 } else { 903 } else {
903 Output *outDlg; 904 Output *outDlg;
904 buttonNewList->setDown(true); 905 buttonNewList->setDown(true);
905 //odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl; 906 //odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl;
906 QString gutenindex1 = local_library + "/GUTINDEX.ALL"; 907 QString gutenindex1 = local_library + "/GUTINDEX.ALL";
907 908
908 QString cmd="wget -O " + gutenindex1 + " http://www.gutenberg.org/dirs/GUTINDEX.ALL 2>&1"; 909 QString cmd="wget -O " + gutenindex1 + " http://www.gutenberg.org/dirs/GUTINDEX.ALL 2>&1";
909 910
910 int result = QMessageBox::warning( this,"Download" 911 int result = QMessageBox::warning( this,"Download"
911 ,"<p>Ok to use /'wget/' to download a new library list?</P>" 912 ,"<p>Ok to use /'wget/' to download a new library list?</P>"
912 ,"Yes","No",0,0,1); 913 ,"Yes","No",0,0,1);
913 qApp->processEvents(); 914 qApp->processEvents();
914 if(result == 0) { 915 if(result == 0) {
915 outDlg = new Output( 0, tr("Downloading Gutenberg Index...."),true); 916 outDlg = new Output( 0, tr("Downloading Gutenberg Index...."),true);
916 outDlg->showMaximized(); 917 outDlg->showMaximized();
917 outDlg->show(); 918 outDlg->show();
918 qApp->processEvents(); 919 qApp->processEvents();
919 FILE *fp; 920 FILE *fp;
920 char line[130]; 921 char line[130];
921 outDlg->OutputEdit->append( tr("Running wget") ); 922 outDlg->OutputEdit->append( tr("Running wget") );
922 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false); 923 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
923 sleep(1); 924 sleep(1);
924 fp = popen( (const char *) cmd, "r"); 925 fp = popen( (const char *) cmd, "r");
925 if ( !fp ) { 926 if ( !fp ) {
926 } else { 927 } else {
927 //odebug << "Issuing the command\n"+cmd << oendl; 928 //odebug << "Issuing the command\n"+cmd << oendl;
928 // system(cmd); 929 // system(cmd);
929 while ( fgets( line, sizeof line, fp)) { 930 while ( fgets( line, sizeof line, fp)) {
930 outDlg->OutputEdit->append(line); 931 outDlg->OutputEdit->append(line);
931 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false); 932 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
932 } 933 }
933 pclose(fp); 934 pclose(fp);
934 outDlg->OutputEdit->append("Finished downloading\n"); 935 outDlg->OutputEdit->append("Finished downloading\n");
935 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false); 936 outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
936 qApp->processEvents(); 937 qApp->processEvents();
937 938
938 // if( QFile(gutenindex1).exists() ) { 939 // if( QFile(gutenindex1).exists() ) {
939 // QString gutenindex=QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL"; 940 // QString gutenindex=QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
940 // if( rename(gutenindex1.latin1(),gutenindex.latin1()) !=0) 941 // if( rename(gutenindex1.latin1(),gutenindex.latin1()) !=0)
941 // //odebug << "renaming error" << oendl; 942 // //odebug << "renaming error" << oendl;
942 // } 943 // }
943 944
944 } 945 }
945 // outDlg->close(); 946 // outDlg->close();
946 FindLibrary(); 947 FindLibrary();
947 if(outDlg) delete outDlg; 948 if(outDlg) delete outDlg;
948 } 949 }
949 buttonNewList->setDown(false); 950 buttonNewList->setDown(false);
950 951
951 // if(outDlg) 952 // if(outDlg)
952 // delete outDlg; 953 // delete outDlg;
953 } 954 }
954} 955}
955 956
956bool LibraryDialog::moreInfo() 957bool LibraryDialog::moreInfo()
957{ 958{
958 959
959 QListViewItem * item; 960 QListViewItem * item;
960 item = 0; 961 item = 0;
961 QString titleString; 962 QString titleString;
962 item = ListView1->currentItem(); 963 item = ListView1->currentItem();
963 if( item != 0) { 964 if( item != 0) {
964 titleString = item->text(0); 965 titleString = item->text(0);
965 ListView1->clearSelection(); 966 ListView1->clearSelection();
966 item = 0; 967 item = 0;
967 } 968 }
968 if( item == 0) 969 if( item == 0)
969 item = ListView2->currentItem(); 970 item = ListView2->currentItem();
970 if( item != 0) { 971 if( item != 0) {
971 titleString = item->text(0); 972 titleString = item->text(0);
972 ListView2->clearSelection(); 973 ListView2->clearSelection();
973 item = 0; 974 item = 0;
974 } 975 }
975 if( item == 0) 976 if( item == 0)
976 item = ListView3->currentItem(); 977 item = ListView3->currentItem();
977 if( item != 0) { 978 if( item != 0) {
978 titleString = item->text(0); 979 titleString = item->text(0);
979 ListView3->clearSelection(); 980 ListView3->clearSelection();
980 item = 0; 981 item = 0;
981 } 982 }
982 if( item == 0) 983 if( item == 0)
983 item = ListView4->currentItem(); 984 item = ListView4->currentItem();
984 if( item != 0) { 985 if( item != 0) {
985 titleString = item->text(0); 986 titleString = item->text(0);
986 ListView4->clearSelection(); 987 ListView4->clearSelection();
987 item = 0; 988 item = 0;
988 } 989 }
989 if( item == 0) 990 if( item == 0)
990 item = ListView5->currentItem(); 991 item = ListView5->currentItem();
991 if( item != 0) { 992 if( item != 0) {
992 titleString = item->text(0); 993 titleString = item->text(0);
993 ListView5->clearSelection(); 994 ListView5->clearSelection();
994 item = 0; 995 item = 0;
995 } 996 }
996 item=0; 997 item=0;
997 if(titleString.length()>2) { 998 if(titleString.length()>2) {
998 //odebug << "Title is "+titleString << oendl; 999 //odebug << "Title is "+titleString << oendl;
999 titleString.replace( QRegExp("\\s"), "%20"); 1000 titleString.replace( QRegExp("\\s"), "%20");
1000 titleString.replace( QRegExp("'"), "%20"); 1001 titleString.replace( QRegExp("'"), "%20");
1001 titleString.replace( QRegExp("\""), "%20"); 1002 titleString.replace( QRegExp("\""), "%20");
1002 titleString.replace( QRegExp("&"), "%20"); 1003 titleString.replace( QRegExp("&"), "%20");
1003 QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search"; 1004 QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search";
1004 cmd="opera "+cmd; 1005 cmd="opera "+cmd;
1005 system(cmd); 1006 system(cmd);
1006 } else 1007 } else
1007 QMessageBox::message( "Note","<p>If you select a title, this will search google.com for that title.</p>"); 1008 QMessageBox::message( "Note","<p>If you select a title, this will search google.com for that title.</p>");
1008 return true; 1009 return true;
1009 1010
1010} 1011}
1011 1012
1012/* 1013/*
1013 This loads the library Index*/ 1014 This loads the library Index*/
1014void LibraryDialog::FindLibrary() 1015void LibraryDialog::FindLibrary()
1015{ 1016{
1016 buttonLibrary->setDown(true); 1017 buttonLibrary->setDown(true);
1017 1018
1018 qApp->processEvents(); 1019 qApp->processEvents();
1019 if( QFile( new_index).exists() /* && this->isHidden() */) { 1020 if( QFile( new_index).exists() /* && this->isHidden() */) {
1020 newindexLib.setName( new_index); 1021 newindexLib.setName( new_index);
1021 indexLib.setName( new_index); 1022 indexLib.setName( new_index);
1022 //odebug << "index file is "+ new_index << oendl; 1023 //odebug << "index file is "+ new_index << oendl;
1023 Newlibrary(); 1024 Newlibrary();
1024 } else { 1025 } else {
1025 newindexLib.setName( old_index); 1026 newindexLib.setName( old_index);
1026 indexLib.setName( old_index); 1027 indexLib.setName( old_index);
1027 //odebug << "new index nameis "+ old_index << oendl; 1028 //odebug << "new index nameis "+ old_index << oendl;
1028 Library(); 1029 Library();
1029 } 1030 }
1030 indexLoaded =true; 1031 indexLoaded =true;
1031 buttonSearch->setEnabled(true); 1032 buttonSearch->setEnabled(true);
1032 moreInfoButton->setEnabled(true); 1033 moreInfoButton->setEnabled(true);
1033 1034
1034 buttonLibrary->setDown(false); 1035 buttonLibrary->setDown(false);
1035 buttonNewList->setText("Download"); 1036 buttonNewList->setText("Download");
1036 qApp->processEvents(); 1037 qApp->processEvents();
1037 1038
1038} 1039}
1039 1040
1040void LibraryDialog::cleanStrings() { 1041void LibraryDialog::cleanStrings() {
1041 year = year.stripWhiteSpace(); 1042 year = year.stripWhiteSpace();
1042 file = file.stripWhiteSpace(); 1043 file = file.stripWhiteSpace();
1043 title = title.stripWhiteSpace(); 1044 title = title.stripWhiteSpace();
1044 number = number.stripWhiteSpace(); 1045 number = number.stripWhiteSpace();
1045 1046
1046} 1047}
1047 1048
1048void LibraryDialog::authBoxClicked() 1049void LibraryDialog::authBoxClicked()
1049{ 1050{
1050 qApp->processEvents(); 1051 qApp->processEvents();
1051 FindLibrary(); 1052 FindLibrary();
1052} 1053}