summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2005-08-25 08:23:59 (UTC)
committer llornkcor <llornkcor>2005-08-25 08:23:59 (UTC)
commit938d1f0a0c16a8acbd7866191d099a4054c4c3e2 (patch) (side-by-side diff)
tree3d7de3be92a8a15ad16b4dc9b5fd6fd207e1fa7e
parent65edeafe2dc8689dce7c2ce94e954933b393dcf0 (diff)
downloadopie-938d1f0a0c16a8acbd7866191d099a4054c4c3e2.zip
opie-938d1f0a0c16a8acbd7866191d099a4054c4c3e2.tar.gz
opie-938d1f0a0c16a8acbd7866191d099a4054c4c3e2.tar.bz2
fix search results
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
@@ -581,402 +581,403 @@ bool LibraryDialog::httpDownload()
} else { //////////// use KFM
// KFM::download( httpName, file_name);
}
i++;
QFile tmp( file_name);
QString str;
if (tmp.open(IO_ReadOnly)) {
QTextStream t( &tmp ); // use a text stream
while ( !t.eof()) {
QString s = t.readLine();
if (s.contains( NewlistItemFile, false) && (s.contains(".txt")) ) {
str = s.mid( s.find( ".txt\">"+NewlistItemFile, 0, true)+6, (s.find( ".txt</A>", 0, true) + 4) - ( s.find( ".txt\">"+NewlistItemFile, 0, true)+6 ) );
httpName += "/" + str;
}
} //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();
int fluff = 0;
bool cS;
if( searchDlg->caseSensitiveCheckBox->isChecked())
cS = true; //case sensitive
else
cS = false;
etext etextStruct;
QValueList<etext>::Iterator it;
for( it = etextLibrary.begin(); it != etextLibrary.end(); ++it ) {
QString tempTitle = (*it).title;
QString tempAuthor = (*it).author;
QString tempFile = (*it).file;
QString tempYear = (*it).year;
if(tempTitle.find( searcherStr, 0, cS) != -1
|| tempAuthor.find( searcherStr, 0, cS) != -1) {
qWarning(tempTitle);
Searchlist.append( tempTitle + " : " + tempYear + " : " + tempFile);
}
}
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();
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) {
+ QStringList token = QStringList::split(" : ", resultStr);
- int titleInt = resultStr.find( " : ", 0, true);
- DlglistItemTitle = resultStr.left( titleInt);
+ DlglistItemTitle = token[0];
+ DlglistItemTitle = DlglistItemTitle.stripWhiteSpace();
- int yearInt = resultStr.find( " : ", titleInt+3, true);
-
- DlglistItemYear = resultStr.mid( titleInt+3, (yearInt - titleInt)-3);
-
- DlglistItemFile = resultStr.right( resultStr.length() - (yearInt + 3));
- DlglistItemFile = DlglistItemFile.left( DlglistItemFile.length() - 2);
-
- cleanStrings();
+ DlglistItemYear = token[1];
+ DlglistItemYear = DlglistItemYear.stripWhiteSpace();
+
+ DlglistItemFile = token[2];
+
+ DlglistItemFile = DlglistItemFile.stripWhiteSpace();
+
+// qWarning(DlglistItemYear);
+
if(DlglistItemFile.left(1) == "/")
DlglistItemFile = DlglistItemFile.right( DlglistItemFile.length() - 1);
-
- if( DlglistItemFile.toInt() > 10000 || yearInt == 1980 ) {
+ if( DlglistItemFile.toInt() > 10000 || DlglistItemYear == "1980" ) {
// new directory sturcture
download_newEtext(); //)
} else {
download_Etext(); //)
}
}
}
void LibraryDialog::sortLists(int index)
{
ListView1->setSorting(index);
ListView2->setSorting(index);
ListView3->setSorting(index);
ListView4->setSorting(index);
ListView5->setSorting(index);
ListView1->sort();
ListView2->sort();
ListView3->sort();
ListView4->sort();
ListView5->sort();
}
/*
Downloads the current selected listitem*/
bool LibraryDialog::getItem(QListViewItem *it)
{
// //odebug << "selected getItem" << oendl;
// DlglistItemNumber = it->text(0);
DlglistItemTitle = it->text(0);
DlglistItemYear = it->text(2);
DlglistItemFile = it->text(3);
if(download_Etext()) {
if(i_binary == 1) {
}
}
return true;
}
/*
download button is pushed so we get the current items to download*/
bool LibraryDialog::onButtonDownload()
{
// //odebug << "selected onButtonDownloadz" << oendl;
QListViewItemIterator it1( ListView1 );
QListViewItemIterator it2( ListView2 );
QListViewItemIterator it3( ListView3 );
QListViewItemIterator it4( ListView4 );
QListViewItemIterator it5( ListView5 );
// iterate through all items of the listview
for ( ; it1.current(); ++it1 ) {
if ( it1.current()->isSelected() )
getItem(it1.current());
it1.current()->setSelected(false);
}
for ( ; it2.current(); ++it2 ) {
if ( it2.current()->isSelected() )
getItem(it2.current());
it2.current()->setSelected(false);
}
for ( ; it3.current(); ++it3 ) {
if ( it3.current()->isSelected() )
getItem(it3.current());
it3.current()->setSelected(false);
}
for ( ; it4.current(); ++it4 ) {
if ( it4.current()->isSelected() )
getItem(it4.current());
it4.current()->setSelected(false);
}
for ( ; it5.current(); ++it5 ) {
if ( it5.current()->isSelected() )
getItem(it5.current());
it5.current()->setSelected(false);
}
return true;
}
/*
handles the sorting combo box */
void LibraryDialog::comboSelect(int index)
{
// //odebug << "we are sorting" << oendl;
ListView1->setSorting( index, true);
ListView2->setSorting( index, true);
ListView3->setSorting( index, true);
ListView4->setSorting( index, true);
ListView5->setSorting( index, true);
ListView1->sort();
ListView2->sort();
ListView3->sort();
ListView4->sort();
ListView5->sort();
// ListView1->triggerUpdate();
// ListView2->triggerUpdate();
// ListView3->triggerUpdate();
// ListView4->triggerUpdate();
// ListView5->triggerUpdate();
}
void LibraryDialog::newList()
{
if(indexLoaded) {
onButtonDownload();
} else {
Output *outDlg;
buttonNewList->setDown(true);
//odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl;
QString gutenindex1 = local_library + "/GUTINDEX.ALL";
QString cmd="wget -O " + gutenindex1 + " http://www.gutenberg.org/dirs/GUTINDEX.ALL 2>&1";
int result = QMessageBox::warning( this,"Download"
,"<p>Ok to use /'wget/' to download a new library list?</P>"
,"Yes","No",0,0,1);
qApp->processEvents();
if(result == 0) {
outDlg = new Output( 0, tr("Downloading Gutenberg Index...."),true);
outDlg->showMaximized();
outDlg->show();
qApp->processEvents();
FILE *fp;
char line[130];
outDlg->OutputEdit->append( tr("Running wget") );
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
sleep(1);
fp = popen( (const char *) cmd, "r");
if ( !fp ) {
} else {
//odebug << "Issuing the command\n"+cmd << oendl;
// system(cmd);
while ( fgets( line, sizeof line, fp)) {
outDlg->OutputEdit->append(line);
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
}
pclose(fp);
outDlg->OutputEdit->append("Finished downloading\n");
outDlg->OutputEdit->setCursorPosition(outDlg->OutputEdit->numLines() + 1,0,false);
qApp->processEvents();
// if( QFile(gutenindex1).exists() ) {
// QString gutenindex=QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
// if( rename(gutenindex1.latin1(),gutenindex.latin1()) !=0)
// //odebug << "renaming error" << oendl;
// }
}
// outDlg->close();
FindLibrary();
if(outDlg) delete outDlg;
}
buttonNewList->setDown(false);
// if(outDlg)
// delete outDlg;
}
}
bool LibraryDialog::moreInfo()
{
QListViewItem * item;
item = 0;
QString titleString;
item = ListView1->currentItem();
if( item != 0) {
titleString = item->text(0);
ListView1->clearSelection();
item = 0;
}
if( item == 0)
item = ListView2->currentItem();
if( item != 0) {
titleString = item->text(0);
ListView2->clearSelection();
item = 0;
}
if( item == 0)
item = ListView3->currentItem();
if( item != 0) {
titleString = item->text(0);
ListView3->clearSelection();
item = 0;
}
if( item == 0)