summaryrefslogtreecommitdiff
Side-by-side diff
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
@@ -677,210 +677,211 @@ void LibraryDialog::saveConfig()
}
// 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();