Diffstat (limited to 'noncore/apps/opie-gutenbrowser/LibraryDialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-gutenbrowser/LibraryDialog.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp index 7426e80..549c1d2 100644 --- a/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp +++ b/noncore/apps/opie-gutenbrowser/LibraryDialog.cpp @@ -94,187 +94,199 @@ LibraryDialog::~LibraryDialog() { // delete QList_Item2; // delete QList_Item1; // delete QList_Item3; // delete QList_Item4; // delete QList_Item5; // saveConfig(); } /*This groks using PGWHOLE.TXT */ void LibraryDialog::Newlibrary() { #ifndef Q_WS_QWS //sorry embedded gutenbrowser cant use zip files //odebug << "Opening new library index " << newindexLib << "" << oendl; if ( newindexLib.open( IO_ReadOnly) ) { setCaption( tr( "Library Index - using master pg index." ) );// file opened successfully QTextStream indexStream( &newindexLib ); QString indexLine; while ( !indexStream.atEnd() ) { // until end of file.. indexLine = indexStream.readLine(); if ( ( indexLine.mid(4,4)).toInt() && !( indexLine.left(3)).toInt()) { year = indexLine.mid(4,4); year = year.stripWhiteSpace(); file = indexLine.mid( indexLine.find( "[", 0, TRUE )+1, 12 ); file = file.stripWhiteSpace(); number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); if( year.toInt() < 1984) number = number.left( number.length() -1 ); number = number.stripWhiteSpace(); title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); title = title.stripWhiteSpace(); getAuthor(); // groks author author = author.stripWhiteSpace(); if (authBox->isChecked()) { // this reverses the first name and last name of the author // odebug << "Sorting last name first" << oendl; QString lastName, firstName=""; int finder=author.findRev( ' ', -1, TRUE); lastName=author.right( author.length()-finder); firstName=author.left(finder); lastName=lastName.stripWhiteSpace(); firstName=firstName.stripWhiteSpace(); if( lastName.find( firstName, 0, true) == -1) // this avoids dup names author=lastName+", "+firstName; } - if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) && (file.find( "]",0, TRUE) == -1) ) { + if( !number.isEmpty() + && (title.find( "reserved",0, FALSE) == -1) + && (file.find( "]",0, TRUE) == -1) + && (title.find( "Audio",0, FALSE) == -1)) { // fill string list or something to be able to resort the whole library if( author.isEmpty() ) QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); else { if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) QList_Item1 = new QListViewItem( ListView1,/* number,*/ title, author, year, file ); else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) QList_Item2 = new QListViewItem( ListView2, /*number, */title, author, year, file ); else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) QList_Item3 = new QListViewItem( ListView3, /*number,*/ title, author, year, file ); else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); else QList_Item5 = new QListViewItem( ListView5, /* number,*/ title, author, year, file ); } } }// end if }// end while newindexLib.close(); } #ifndef Q_WS_QWS setCursor( arrowCursor); #endif #endif } // end Newlibrary() void LibraryDialog::Library() {// old library groking method ListView1->clear(); ListView2->clear(); ListView3->clear(); ListView4->clear(); ListView5->clear(); odebug << "opening GUTINDEX.ALL file" << oendl; IDontKnowWhy = ""; if ( indexLib.open( IO_ReadOnly) ) { // file opened successfully QTextStream indexStream( &indexLib ); QString indexLine; qApp->processEvents(); // int jig; while ( !indexStream.eof() ) { indexLine = indexStream.readLine(); if ( indexLine != "") { if( (indexLine.mid(4,4)).toInt() /* && !( indexLine.left(3)).toInt()*/ ) { // month = indexLine.left( 3); year = indexLine.mid(4,4); // title = indexLine.mid( 9, 50); file = indexLine.mid(60,12); if(file.left(1).find("[",0,TRUE) != -1) file.remove(1,1); if( file.find("]",0,TRUE) != -1) file = file.left( file.find("]",0,TRUE)); - //odebug << "file is "+file << oendl; - /// number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); + + + if(file.find("?", 0, false) != -1 ) { + QString tmpfile = file.replace(QRegExp("[?]"), "8"); +// qDebug( "file is now " + tmpfile ); + file = tmpfile; + } + +// number = indexLine.mid( indexLine.find( "]", 0, TRUE ) +1, indexLine.find( " ", 0, TRUE )+1 ); number = indexLine.mid(55,5); number = number.stripWhiteSpace(); // title = indexLine.mid( indexLine.find(" ", 26, TRUE), indexLine.length() ); title = indexLine.mid( 9, 50 ); title = title.stripWhiteSpace(); //odebug << "title is "+title << oendl; getAuthor(); // grok author author = author.stripWhiteSpace(); //odebug << "author is "+author << oendl; if (authBox->isChecked() == TRUE) { // this reverses the first name and last name of the author QString lastName, firstName=""; int finder=author.findRev( ' ', -1, TRUE); lastName=author.right( author.length()-finder); firstName=author.left(finder); lastName=lastName.stripWhiteSpace(); firstName=firstName.stripWhiteSpace(); if( lastName.find( firstName, 0, true) == -1) // this avoids dup names author=lastName+", "+firstName; } - if( !number.isEmpty() && (title.find( "reserved",0, FALSE) == -1) /*&& (file.find( "]",0, TRUE))*/ ) { + if( !number.isEmpty() + && (title.find( "reserved",0, FALSE) == -1) + &&(title.find( "Audio",0, FALSE) == -1)) { // fill string list or something to be able to sort by Author if( author.isEmpty() ) QList_Item5 = new QListViewItem( ListView5, /*number, */title, author, year, file ); else { if( (author.left(1) >= QString("A") && author.left(1) <= QString("F")) || (author.left(1) >= QString("a") && author.left(1) <= QString("f")) ) QList_Item1 = new QListViewItem( ListView1, /* number,*/ title, author, year, file ); else if( (author.left(1) >= QString("G") && author.left(1) <= QString("M")) || (author.left(1) >= QString("g") && author.left(1) <= QString("m")) ) QList_Item2 = new QListViewItem( ListView2, /* number,*/ title, author, year, file ); else if( (author.left(1) >= QString("N") && author.left(1) <= QString("R")) || (author.left(1) >= QString("n") && author.left(1) <= QString("r")) ) QList_Item3 = new QListViewItem( ListView3, /* number,*/ title, author, year, file ); else if( (author.left(1) >= QString("S") && author.left(1) <= QString("Z")) || (author.left(1) >= QString("s") && author.left(1) <= QString("z")) ) QList_Item4 = new QListViewItem( ListView4, /* number,*/ title, author, year, file ); } } } } } indexLib.close(); } else { QString sMsg; sMsg = ( tr("<p>Error opening local library index:</P> "))+local_index; QMessageBox::message( "Error",sMsg); } } //end Library() /* Groks the author out of the title */ bool LibraryDialog::getAuthor() { if( title.contains( ", by", TRUE)) { int auth; auth = title.find(", by", 0, TRUE); author = title.right(title.length() - (auth + 4) ); if( int finder = author.find("[", 0, TRUE)) { author = author.left(finder); } } else if ( title.contains( "by, ", TRUE) ) { int auth; @@ -551,107 +563,104 @@ bool LibraryDialog::httpDownload() } //end of while loop } tmp.close(); m_getFilePath = local_library + str; i++; if ( brow != "KFM"){ ///////// use lynx QString cmd = "lynx -source " + httpName +" | cat >> " + m_getFilePath; // QMessageBox::message("Error", cmd); system(cmd); } else { ////////// use KFM // KFM::download( httpName, m_getFilePath); } i++; #endif return false; } void LibraryDialog::cancelIt() { saveConfig(); DlglistItemNumber = ""; this->reject(); } bool LibraryDialog::setTitle() { Config config("Gutenbrowser"); odebug << "setting title" << oendl; odebug << DlglistItemTitle << oendl; if( DlglistItemTitle.find("[",0,TRUE) != -1) DlglistItemTitle.replace(DlglistItemTitle.find("[",0,TRUE),1, "(" ); if( DlglistItemTitle.find("]",0,TRUE) !=-1) DlglistItemTitle.replace(DlglistItemTitle.find("]",0,TRUE),1, ")" ); odebug << "Title being set is "+DlglistItemTitle << oendl; int test = 0; QString ramble, temp; config.setGroup("Files"); QString s_numofFiles = config.readEntry("NumberOfFiles", "0" ); int i_numofFiles = s_numofFiles.toInt(); for ( int i = 0; i <= i_numofFiles; i++){ temp.setNum( i); ramble = config.readEntry( temp, "" ); if( strcmp( ramble, File_Name) == 0){ test = 1; } } - - if(test == 0 ) { - config.setGroup("Files"); config.writeEntry( "NumberOfFiles", i_numofFiles +1 ); QString interger; interger.setNum( i_numofFiles +1); config.writeEntry( interger, File_Name); config.setGroup( "Titles" ); config.writeEntry( File_Name, DlglistItemTitle); - } + test = 0; return true; } void LibraryDialog::saveConfig() { Config config("Gutenbrowser"); if( httpBox->isChecked() == TRUE) { checked = 1; config.setGroup( "Proxy" ); config.writeEntry("IsChecked", "TRUE"); } else { checked = 0; config.setGroup( "Proxy" ); config.writeEntry("IsChecked", "FALSE"); } if (authBox->isChecked() == TRUE) { config.setGroup("SortAuth"); config.writeEntry("authSort", "TRUE"); } else { config.setGroup("SortAuth"); config.writeEntry("authSort", "FALSE"); } // config.write(); } /* searches library index for user word*/ void LibraryDialog::onButtonSearch() { ListView1->clearSelection(); ListView2->clearSelection(); ListView3->clearSelection(); ListView4->clearSelection(); ListView5->clearSelection(); int curTab=tabWidget->currentPageIndex(); SearchDialog* searchDlg; // if( resultsList) searchDlg = new SearchDialog( this, "Library Search", TRUE); searchDlg->setCaption( tr( "Library Search" ) ); searchDlg->setLabel( "- author or title"); QString resultString; int i_berger = 0; if( searchDlg->exec() != 0 ) { QString searcherStr = searchDlg->get_text(); @@ -705,98 +714,96 @@ void LibraryDialog::onButtonSearch() resultString += (" : "); resultString += ( it3.current() )->text(2); resultString += (" : "); resultString += ( it3.current() )->text(3); if( resultString.find( searcherStr, 0, cS) != -1) { Searchlist.append( resultString); } } } if(fluff==0) { // search routine here for ( ; it4.current(); ++it4 ) { resultString = ( it4.current() )->text(0); resultString += (" : "); resultString += ( it4.current() )->text(2); resultString += (" : "); resultString += ( it4.current() )->text(3); if( resultString.find( searcherStr, 0, cS) != -1) { Searchlist.append( resultString); } } } if(fluff==0) { // search routine here for ( ; it5.current(); ++it5 ) { resultString = ( it5.current() )->text(0); resultString += (" : "); resultString += ( it5.current() )->text(2); resultString += (" : "); resultString += ( it5.current() )->text(3); if( resultString.find( searcherStr, 0, cS) != -1) { Searchlist.append( resultString); } } } tabWidget->setCurrentPage( curTab); Searchlist.sort(); SearchResultsDlg* SearchResultsDialog; SearchResultsDialog = new SearchResultsDlg( searchDlg, "Results Dialog", true, 0 , Searchlist); SearchResultsDialog->showMaximized(); if( SearchResultsDialog->exec() != 0) { texter = SearchResultsDialog->selText; // odebug << texter << oendl; resultLs = SearchResultsDialog->resultsList; i_berger = 1; - } else { - resultLs.clear(); } Searchlist.clear(); // if(SearchResultsDialog) // delete SearchResultsDialog; QString tester; for ( QStringList::Iterator it = resultLs.begin(); it != resultLs.end(); ++it ) { texter.sprintf("%s \n",(*it).latin1()); // odebug << texter << oendl; if( tester!=texter) parseSearchResults( texter); tester = texter; } if(searchDlg) delete searchDlg; } if(checkBox->isChecked() ) { accept(); } else { setActiveWindow(); } } /* splits the result string and calls download for the current search result*/ void LibraryDialog::parseSearchResults( QString resultStr) { int stringLeng=resultStr.length(); QString my; my.setNum( stringLeng, 10); if( resultStr.length() > 2 && resultStr.length() < 130) { int titleInt = resultStr.find( " : ", 0, TRUE); DlglistItemTitle = resultStr.left( titleInt); int yearInt = resultStr.find( " : ", titleInt+3, TRUE); DlglistItemYear = resultStr.mid( titleInt+3, (yearInt - titleInt)-3); DlglistItemFile = resultStr.right( resultStr.length() - (yearInt + 3)); download_Etext(); } /* printf( DlglistItemTitle+"\n"); printf( DlglistItemYear+"\n"); printf( DlglistItemFile+"\n");*/ } // bool LibraryDialog::UnzipIt( QString zipFile) { // //////////TODO findsome other way of dealingwithzip files. // ///usr/bin/unzip"; // if( QFile::exists( zipFile)) { |