summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-gutenbrowser/LibraryDialog.cpp1553
-rw-r--r--noncore/apps/opie-gutenbrowser/gutenbrowser.cpp27
2 files changed, 799 insertions, 781 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
@@ -15,806 +15,813 @@
#include "LibraryDialog.h"
#include "output.h"
/* OPIE */
#include <qpe/applnk.h>
#include <qpe/qpeapplication.h>
#include <qpe/qpedialog.h>
#include <opie2/odebug.h>
/* QT */
#include <qpushbutton.h>
#include <qmultilineedit.h>
//#include <qlayout.h>
/* STD */
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
/*
* The dialog will by default be modeless, unless you set 'modal' to
* TRUE to construct a modal dialog. */
LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool /*modal*/, WFlags fl )
- : QDialog( parent, name, true/* modal*/, fl )
+ : QDialog( parent, name, true/* modal*/, fl )
{
- if ( !name )
- setName( "LibraryDialog" );
- indexLoaded=false;
- initDialog();
+ if ( !name )
+ setName( "LibraryDialog" );
+ indexLoaded=false;
+ initDialog();
// this->setMaximumWidth(240);
- index = "GUTINDEX.ALL";
- local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
- local_index = local_library + index;
+ index = "GUTINDEX.ALL";
+ local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
+ local_index = local_library + index;
- QString iniFile ;
- iniFile = QPEApplication::qpeDir()+"etc/gutenbrowser/gutenbrowserrc";
+ QString iniFile ;
+ iniFile = QPEApplication::qpeDir()+"etc/gutenbrowser/gutenbrowserrc";
- new_index =QPEApplication::qpeDir()+"etc/gutenbrowser/PGWHOLE.TXT";
+ new_index =QPEApplication::qpeDir()+"etc/gutenbrowser/PGWHOLE.TXT";
- old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
- // old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
+ old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
+ // old_index = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
- // iniFile = local_library+"gutenbrowserrc";
- // new_index = local_library + "PGWHOLE.TXT";
- // old_index = local_library + "GUTINDEX.ALL";
+ // iniFile = local_library+"gutenbrowserrc";
+ // new_index = local_library + "PGWHOLE.TXT";
+ // old_index = local_library + "GUTINDEX.ALL";
- Config config("Gutenbrowser");
+ Config config("Gutenbrowser");
- config.setGroup( "HttpServer" );
- proxy_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
+ config.setGroup( "HttpServer" );
+ proxy_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
- config.setGroup( "FTPsite" );
- ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org");
- odebug << "Library Dialog: ftp_host is "+ftp_host << oendl;
- // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) );
- // ftp_host=ftp_host.stripWhiteSpace();
- ftp_base_dir= config.readEntry("base", "/pub/gutenberg");
+ config.setGroup( "FTPsite" );
+ ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org");
+ odebug << "Library Dialog: ftp_host is "+ftp_host << oendl;
+ // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) );
+ // ftp_host=ftp_host.stripWhiteSpace();
+ ftp_base_dir= config.readEntry("base", "/pub/gutenberg");
- i_binary = 0;
+ i_binary = 0;
- config.setGroup("SortAuth");
- if( config.readEntry("authSort", "FALSE") == "TRUE")
- authBox->setChecked(TRUE);
+ config.setGroup("SortAuth");
+ if( config.readEntry("authSort", "FALSE") == "TRUE")
+ authBox->setChecked(TRUE);
- config.setGroup("General");
- downDir =config.readEntry( "DownloadDirectory",local_library);
- odebug << "downDir is "+downDir << oendl;
- newindexLib.setName( old_index);
- indexLib.setName( old_index);
+ config.setGroup("General");
+ downDir =config.readEntry( "DownloadDirectory",local_library);
+ odebug << "downDir is "+downDir << oendl;
+ newindexLib.setName( old_index);
+ indexLib.setName( old_index);
- new QPEDialogListener(this);
- QTimer::singleShot( 1000, this, SLOT( FindLibrary()) );
+ new QPEDialogListener(this);
+ QTimer::singleShot( 1000, this, SLOT( FindLibrary()) );
}
LibraryDialog::~LibraryDialog()
{
// delete QList_Item2;
// delete QList_Item1;
// delete QList_Item3;
// delete QList_Item4;
// delete QList_Item5;
- // saveConfig();
+ // 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 << "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) ) {
-
- // 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();
- }
+ 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)
+ && (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);
+ 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 );
- 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))*/ ) {
- // 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);
- }
+ 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));
+
+
+ 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)
+ &&(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;
- 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;
- auth = title.find(" by", 0, TRUE);
- author = title.right(title.length() - (auth + 3) );
- if( int finder = author.find("[", 0, TRUE)) {
- author = author.left( finder);
- }
- }
- else if ( title.contains( "by ", TRUE) ) {
- int auth;
- auth = title.find("by ", 0, TRUE);
- author = title.right(title.length() - (auth + 3) );
- if( int finder = author.find("[", 0, TRUE)) {
- author = author.left( finder);
- }
- }
- else if ( title.contains( ",", TRUE) ) {
- int auth;
- auth = title.find(",", 0, TRUE);
- author = title.right( title.length() - (auth + 1) );
- if ( author.contains( ",", TRUE) ) {
- int auth;
- auth = author.find(",", 0, TRUE);
- author = author.right( author.length() - (auth + 1) );
- }
- if( int finder = author.find("[", 0, TRUE)) {
- author = author.left( finder);
- }
- }
- else if ( title.contains( "/", TRUE) ) {
- int auth;
- auth = title.find("/", 0, TRUE);
- author = title.right(title.length() - (auth + 1) );
- if( int finder = author.find("[", 0, TRUE)) {
- author = author.left( finder);
- }
- }
- else if ( title.contains( "of", TRUE) ) {
- int auth;
- auth = title.find("of", 0, TRUE);
- author = title.right(title.length() - (auth + 2) );
- if( int finder = author.find("[", 0, TRUE))
- {
- author = author.left( finder);
- }
- } else {
- author = "";
- }
- if ( author.contains("et. al")) {
- int auth;
- auth = author.find("et. al", 0, TRUE);
- author = author.left( auth );
- }
- if ( author.contains("#")) {
- int auth;
- auth = author.find("#", 0, TRUE);
- author = author.left( auth);
- }
- if ( author.contains("(")) {
- int auth;
- auth = author.find("(", 0, TRUE);
- author = author.left( auth);
- }
- if ( author.contains("et al")) {
- int auth;
- auth = author.find("et al", 0, TRUE);
- author = author.left( auth );
- }
- QRegExp r = QRegExp("[0-9]", TRUE, FALSE);
- if ( author.left(2).find( r) != -1 ) {
- author = "";
- }
- // if( author.contains(" ", TRUE)) {
- // int suth = author.findRev(" ", -1, TRUE);
- // author = author.right( author.length() - suth);
- // }
-
- // title
- // author
- return true;
+ 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;
+ 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;
+ auth = title.find(" by", 0, TRUE);
+ author = title.right(title.length() - (auth + 3) );
+ if( int finder = author.find("[", 0, TRUE)) {
+ author = author.left( finder);
+ }
+ }
+ else if ( title.contains( "by ", TRUE) ) {
+ int auth;
+ auth = title.find("by ", 0, TRUE);
+ author = title.right(title.length() - (auth + 3) );
+ if( int finder = author.find("[", 0, TRUE)) {
+ author = author.left( finder);
+ }
+ }
+ else if ( title.contains( ",", TRUE) ) {
+ int auth;
+ auth = title.find(",", 0, TRUE);
+ author = title.right( title.length() - (auth + 1) );
+ if ( author.contains( ",", TRUE) ) {
+ int auth;
+ auth = author.find(",", 0, TRUE);
+ author = author.right( author.length() - (auth + 1) );
+ }
+ if( int finder = author.find("[", 0, TRUE)) {
+ author = author.left( finder);
+ }
+ }
+ else if ( title.contains( "/", TRUE) ) {
+ int auth;
+ auth = title.find("/", 0, TRUE);
+ author = title.right(title.length() - (auth + 1) );
+ if( int finder = author.find("[", 0, TRUE)) {
+ author = author.left( finder);
+ }
+ }
+ else if ( title.contains( "of", TRUE) ) {
+ int auth;
+ auth = title.find("of", 0, TRUE);
+ author = title.right(title.length() - (auth + 2) );
+ if( int finder = author.find("[", 0, TRUE))
+ {
+ author = author.left( finder);
+ }
+ } else {
+ author = "";
+ }
+ if ( author.contains("et. al")) {
+ int auth;
+ auth = author.find("et. al", 0, TRUE);
+ author = author.left( auth );
+ }
+ if ( author.contains("#")) {
+ int auth;
+ auth = author.find("#", 0, TRUE);
+ author = author.left( auth);
+ }
+ if ( author.contains("(")) {
+ int auth;
+ auth = author.find("(", 0, TRUE);
+ author = author.left( auth);
+ }
+ if ( author.contains("et al")) {
+ int auth;
+ auth = author.find("et al", 0, TRUE);
+ author = author.left( auth );
+ }
+ QRegExp r = QRegExp("[0-9]", TRUE, FALSE);
+ if ( author.left(2).find( r) != -1 ) {
+ author = "";
+ }
+ // if( author.contains(" ", TRUE)) {
+ // int suth = author.findRev(" ", -1, TRUE);
+ // author = author.right( author.length() - suth);
+ // }
+
+ // title
+ // author
+ return true;
}////// end getAuthor()
/*
selected one etext*/
void LibraryDialog::select_title( QListViewItem * item)
{
- if(item != NULL) {
- i++;
- int index = tabWidget->currentPageIndex();
- DlglistItemTitle = item->text(0);
- DlglistItemYear = item->text(2);
- DlglistItemFile = item->text(3);
- switch (index) {
- case 0: {
- ListView1->clearSelection();
- }
- break;
- case 1: {
- ListView2->clearSelection();
- }
- break;
- case 2: {
- ListView3->clearSelection();
- }
- break;
- case 3: {
- ListView4->clearSelection();
- }
- break;
- case 4: {
- ListView5->clearSelection();
- }
- break;
- };
- }
-
- if(DlglistItemTitle.length()>2) {
- // DlglistItemNumber = item->text(0);
- item = 0;
- odebug << "string from librarydialog is:" << DlglistItemYear << " " << DlglistItemFile << " " << DlglistItemNumber << "" << oendl;
- odebug << "Title is "+DlglistItemTitle << oendl;
-
- // check for connection here
- // if( get_extext())
-
- if(download_Etext()) {
- // odebug << "get here 2" << oendl;
- if(i_binary == 1) {
-
- }
- if(checkBox->isChecked () ) {
- accept();
- }
- }
- }
+ if(item != NULL) {
+ i++;
+ int index = tabWidget->currentPageIndex();
+ DlglistItemTitle = item->text(0);
+ DlglistItemYear = item->text(2);
+ DlglistItemFile = item->text(3);
+ switch (index) {
+ case 0: {
+ ListView1->clearSelection();
+ }
+ break;
+ case 1: {
+ ListView2->clearSelection();
+ }
+ break;
+ case 2: {
+ ListView3->clearSelection();
+ }
+ break;
+ case 3: {
+ ListView4->clearSelection();
+ }
+ break;
+ case 4: {
+ ListView5->clearSelection();
+ }
+ break;
+ };
+ }
+
+ if(DlglistItemTitle.length()>2) {
+ // DlglistItemNumber = item->text(0);
+ item = 0;
+ odebug << "string from librarydialog is:" << DlglistItemYear << " " << DlglistItemFile << " " << DlglistItemNumber << "" << oendl;
+ odebug << "Title is "+DlglistItemTitle << oendl;
+
+ // check for connection here
+ // if( get_extext())
+
+ if(download_Etext()) {
+ // odebug << "get here 2" << oendl;
+ if(i_binary == 1) {
+
+ }
+ if(checkBox->isChecked () ) {
+ accept();
+ }
+ }
+ }
}
bool LibraryDialog::download_Etext()
{ // ftp method
// might have to use old gpl'd ftp for embedded!!
- Config cfg("Gutenbrowser");
- cfg.setGroup("FTPsite");
- ftp_host=cfg.readEntry("SiteName", "sailor.gutenberg.org");
- ftp_base_dir= cfg.readEntry("base", "/pub/gutenberg");
-
- odebug << "about to network dialog" << oendl;
- QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, networkUrl, outputFile;
-
- //////////////////// FIXME- if 'x' is part of real name....
- NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).find("x", 1, FALSE));
-
- if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,TRUE) ==-1 ) {
- NewlistItemFile.replace( 0,4, DlglistItemFile.left(4));
- odebug << "NewlistItemFile is now "+NewlistItemFile << oendl;
- }
- NewlistItemYear = DlglistItemYear.right(2);
- int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10);
- odebug << NewlistItemYear << oendl;
- if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) {
- NewlistItemYear = "90";
- }
- Edir ="etext" +NewlistItemYear;
- dir= ftp_base_dir + "/etext" +NewlistItemYear+"/";
- if( ftp_base_dir.find("=",0,true) )
- ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1);
-
- networkUrl= "ftp://"+ftp_host+dir;
-
- outputFile=local_library+".guten_temp";
- //odebug << "Download file:" << NewlistItemFile << "" << oendl;
- odebug << "Checking: "+ftp_host+" "+dir+" "+outputFile+" "+NewlistItemFile << oendl;
- QStringList networkList;
- networkList.append((const char *)ftp_host);
- networkList.append((const char *)dir);
- networkList.append((const char *)outputFile);
- networkList.append((const char *)NewlistItemFile);
+ Config cfg("Gutenbrowser");
+ cfg.setGroup("FTPsite");
+ ftp_host=cfg.readEntry("SiteName", "sailor.gutenberg.org");
+ ftp_base_dir= cfg.readEntry("base", "/pub/gutenberg");
+
+ odebug << "about to network dialog" << oendl;
+ QString NewlistItemNumber, NewlistItemYear, ls_result, result_line, s, dir, networkUrl, outputFile;
+
+ //////////////////// FIXME- if 'x' is part of real name....
+ NewlistItemFile = DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).left(DlglistItemFile.left(DlglistItemFile.find(".xxx", 1, FALSE)).find("x", 1, FALSE));
+
+ if( NewlistItemFile.find( DlglistItemFile.left(4) ,0,TRUE) ==-1 ) {
+ NewlistItemFile.replace( 0,4, DlglistItemFile.left(4));
+ odebug << "NewlistItemFile is now "+NewlistItemFile << oendl;
+ }
+ NewlistItemYear = DlglistItemYear.right(2);
+ int NewlistItemYear_Int = NewlistItemYear.toInt(0, 10);
+ odebug << NewlistItemYear << oendl;
+ if (NewlistItemYear_Int < 91 && NewlistItemYear_Int > 70) {
+ NewlistItemYear = "90";
+ }
+ Edir ="etext" +NewlistItemYear;
+ dir= ftp_base_dir + "/etext" +NewlistItemYear+"/";
+ if( ftp_base_dir.find("=",0,true) )
+ ftp_base_dir.remove( ftp_base_dir.find("=",0,true),1);
+
+ networkUrl= "ftp://"+ftp_host+dir;
+
+ outputFile=local_library+".guten_temp";
+ //odebug << "Download file:" << NewlistItemFile << "" << oendl;
+ odebug << "Checking: "+ftp_host+" "+dir+" "+outputFile+" "+NewlistItemFile << oendl;
+ QStringList networkList;
+ networkList.append((const char *)ftp_host);
+ networkList.append((const char *)dir);
+ networkList.append((const char *)outputFile);
+ networkList.append((const char *)NewlistItemFile);
//<< (char *)ftp_host << (char *)dir << (char *)outputFile << (char *)NewlistItemFile;
- NetworkDialog *NetworkDlg;
- NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkList);
-
-
- if( NetworkDlg->exec() != 0 ) { // use new, improved, *INSTANT* network-dialog-file-getterer
- File_Name= NetworkDlg->localFileName;
- odebug << "back to Library from Network Dialog" << oendl;
- odebug << "Just downloaded "+NetworkDlg->localFileName << oendl;
-
- // if (File_Name.find( local_library, 0, TRUE) != -1 ) { //could not be found
- // QString oldName=File_Name;
- // File_Name.replace(0,local_library.length(),downDir);
- // odebug << "File_Name now is "+File_Name << oendl;
-
- // }
- // rename .txt to .etx
- if(NetworkDlg->successDownload) {
- odebug << "Filename is "+File_Name << oendl;
- if(File_Name.right(4)==".txt") {
- QString s_fileName=File_Name;
- s_fileName.replace( s_fileName.length()-3,3,"gtn");
- // s_fileName.replace( s_fileName.length()-3,3,"etx");
- rename(File_Name.latin1(),s_fileName.latin1());
- File_Name=s_fileName;
-
- odebug << "Filename is now "+File_Name << oendl;
-
- }
- if(File_Name.length() > 5 ) {
- setTitle();
- QFileInfo fi(File_Name);
- QString name_file=fi.fileName();
- name_file=name_file.left(name_file.length()-4);
-
- odebug << "Setting doclink" << oendl;
- DocLnk lnk;
- odebug << "name is "+name_file << oendl;
- lnk.setName(name_file); //sets file name
- odebug << "Title is "+DlglistItemTitle << oendl;
- lnk.setComment(DlglistItemTitle);
-
- odebug << "Filename is "+File_Name << oendl;
- lnk.setFile(File_Name); //sets File property
- lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D
- lnk.setExec(File_Name);
- lnk.setIcon("gutenbrowser/Gutenbrowser");
- if(!lnk.writeLink()) {
- odebug << "Writing doclink did not work" << oendl;
- } else {
- }
- } else
- QMessageBox::message("Note","<p>There was an error with the file</p>");
- }
- }
- return true;
+ NetworkDialog *NetworkDlg;
+ NetworkDlg = new NetworkDialog( this,"Network Protocol Dialog", TRUE, 0, networkList);
+
+
+ if( NetworkDlg->exec() != 0 ) { // use new, improved, *INSTANT* network-dialog-file-getterer
+ File_Name= NetworkDlg->localFileName;
+ odebug << "back to Library from Network Dialog" << oendl;
+ odebug << "Just downloaded "+NetworkDlg->localFileName << oendl;
+
+ // if (File_Name.find( local_library, 0, TRUE) != -1 ) { //could not be found
+ // QString oldName=File_Name;
+ // File_Name.replace(0,local_library.length(),downDir);
+ // odebug << "File_Name now is "+File_Name << oendl;
+
+ // }
+ // rename .txt to .etx
+ if(NetworkDlg->successDownload) {
+ odebug << "Filename is "+File_Name << oendl;
+ if(File_Name.right(4)==".txt") {
+ QString s_fileName=File_Name;
+ s_fileName.replace( s_fileName.length()-3,3,"gtn");
+ // s_fileName.replace( s_fileName.length()-3,3,"etx");
+ rename(File_Name.latin1(),s_fileName.latin1());
+ File_Name=s_fileName;
+
+ odebug << "Filename is now "+File_Name << oendl;
+
+ }
+ if(File_Name.length() > 5 ) {
+ setTitle();
+ QFileInfo fi(File_Name);
+ QString name_file=fi.fileName();
+ name_file=name_file.left(name_file.length()-4);
+
+ odebug << "Setting doclink" << oendl;
+ DocLnk lnk;
+ odebug << "name is "+name_file << oendl;
+ lnk.setName(name_file); //sets file name
+ odebug << "Title is "+DlglistItemTitle << oendl;
+ lnk.setComment(DlglistItemTitle);
+
+ odebug << "Filename is "+File_Name << oendl;
+ lnk.setFile(File_Name); //sets File property
+ lnk.setType("guten/plain");// hey is this a REGISTERED mime type?!?!? ;D
+ lnk.setExec(File_Name);
+ lnk.setIcon("gutenbrowser/Gutenbrowser");
+ if(!lnk.writeLink()) {
+ odebug << "Writing doclink did not work" << oendl;
+ } else {
+ }
+ } else
+ QMessageBox::message("Note","<p>There was an error with the file</p>");
+ }
+ }
+ return true;
}
bool LibraryDialog::httpDownload()
{// httpDownload
#ifndef Q_WS_QWS
- Config config("Gutenbrowser");
- config.setGroup( "Browser" );
- QString brow = config.readEntry("Preferred", "");
- QString file_name = "./.guten_temp";
- // config.setGroup( "HttpServer" );
- // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
- QString httpName = proxy_http + "/"+Edir;
- // progressBar->setProgress( i);
- i++;
- if ( brow != "Konq") { /////////// use lynx
- // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name;
- // system(cmd);
- } 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++;
+ Config config("Gutenbrowser");
+ config.setGroup( "Browser" );
+ QString brow = config.readEntry("Preferred", "");
+ QString file_name = "./.guten_temp";
+ // config.setGroup( "HttpServer" );
+ // QString s_http = config.readEntry("Preferred", "http://sailor.gutenbook.org");
+ QString httpName = proxy_http + "/"+Edir;
+ // progressBar->setProgress( i);
+ i++;
+ if ( brow != "Konq") { /////////// use lynx
+ // QString cmd = "lynx -source " + httpName +" | cat >> " + file_name;
+ // system(cmd);
+ } 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;
+ return false;
}
void LibraryDialog::cancelIt()
{
- saveConfig();
+ saveConfig();
- DlglistItemNumber = "";
- this->reject();
+ 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;
}
}
+ 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);
- 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();
+ 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;
-
- // int tabPage = tabWidget->currentPageIndex();
- // TODO ititerate here... struct<listViews>??
-
- QListViewItemIterator it1( ListView1 );
- QListViewItemIterator it2( ListView2 );
- QListViewItemIterator it3( ListView3 );
- QListViewItemIterator it4( ListView4 );
- QListViewItemIterator it5( ListView5 );
-
- //// this is really pitiful work,
- ///////
- bool cS;
- if( searchDlg->caseSensitiveCheckBox->isChecked())
- cS=true; //case sensitive
- else
- cS=false;
-
- if(fluff==0) {
- for ( ; it1.current(); ++it1 ) {
- resultString = ( it1.current() )->text(0);
- resultString += (" : ");
- resultString += ( it1.current() )->text(2);
- resultString += (" : ");
- resultString += ( it1.current() )->text(3);
- if( resultString.find( searcherStr, 0, cS) != -1)
- {
- Searchlist.append( resultString);
- }
- }
- }
- if(fluff==0) {// search routine here
- for ( ; it2.current(); ++it2 ) {
- resultString = ( it2.current() )->text(0);
- resultString += (" : ");
- resultString += ( it2.current() )->text(2);
- resultString += (" : ");
- resultString += ( it2.current() )->text(3);
- if( resultString.find( searcherStr, 0, cS) != -1) {
- Searchlist.append( resultString);
- }
- }
- }
- if(fluff==0) {// search routine here
- for ( ; it3.current(); ++it3 ) {
- resultString = ( it3.current() )->text(0);
- 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();
+ 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;
+
+ // int tabPage = tabWidget->currentPageIndex();
+ // TODO ititerate here... struct<listViews>??
+
+ QListViewItemIterator it1( ListView1 );
+ QListViewItemIterator it2( ListView2 );
+ QListViewItemIterator it3( ListView3 );
+ QListViewItemIterator it4( ListView4 );
+ QListViewItemIterator it5( ListView5 );
+
+ //// this is really pitiful work,
+ ///////
+ bool cS;
+ if( searchDlg->caseSensitiveCheckBox->isChecked())
+ cS=true; //case sensitive
+ else
+ cS=false;
+
+ if(fluff==0) {
+ for ( ; it1.current(); ++it1 ) {
+ resultString = ( it1.current() )->text(0);
+ resultString += (" : ");
+ resultString += ( it1.current() )->text(2);
+ resultString += (" : ");
+ resultString += ( it1.current() )->text(3);
+ if( resultString.find( searcherStr, 0, cS) != -1)
+ {
+ Searchlist.append( resultString);
+ }
+ }
+ }
+ if(fluff==0) {// search routine here
+ for ( ; it2.current(); ++it2 ) {
+ resultString = ( it2.current() )->text(0);
+ resultString += (" : ");
+ resultString += ( it2.current() )->text(2);
+ resultString += (" : ");
+ resultString += ( it2.current() )->text(3);
+ if( resultString.find( searcherStr, 0, cS) != -1) {
+ Searchlist.append( resultString);
+ }
+ }
+ }
+ if(fluff==0) {// search routine here
+ for ( ; it3.current(); ++it3 ) {
+ resultString = ( it3.current() )->text(0);
+ resultString += (" : ");
+ resultString += ( it3.current() )->text(2);
+ resultString += (" : ");
+ resultString += ( it3.current() )->text(3);
+
+ if( resultString.find( searcherStr, 0, cS) != -1) {
+ Searchlist.append( resultString);
}
- 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();
- }
+ }
+ }
+ 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;
+ }
+ 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");*/
+ 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)) {
// // QString thatFile = local_library +"PGWHOLE.TXT";
// QString cmd;
// #if defined(_WS_X11_)
// cmd = "gunzip -d " + zipFile /*newestLibraryFile */+" -d " + local_library;
// #endif
// #if defined(_WS_WIN_)
// QString temp= QDir::convertSeparators(local_library);
// zipFile=QDir::convertSeparators( zipFile);
// cmd = temp+"unzip.exe -o " +zipFile/*newestLibraryFile */+" -d " + temp;
// #endif
// #ifndef Q_WS_QWS
// // QString cmd = "gunzip -d " + zipFile /*newestLibraryFile */+" -d " + local_library;
// cmd = "unzip " + zipFile;
// #endif
// int exit=QMessageBox::information(this, "Unzip?", "Ok to unzip "+ zipFile+" ?", QMessageBox::Yes, QMessageBox::No);
// if (exit==QMessageBox::Yes) {
// odebug << "Issuing the command "+cmd << oendl;
@@ -830,126 +837,126 @@ void LibraryDialog::parseSearchResults( QString resultStr)
// // printf("unzip\n");
// // remove( zipFile /*newestLibraryFile*/);
// return true;
// }
// else if(exit==QMessageBox::No) {
// // printf("unzip\n");
// return false;
// }
// } else {
// // QMessageBox::message( "Note",( tr("Please install unzip in your PATH")) );
// return false;
// }
// return true;
// }
void LibraryDialog::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;
+ // 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;
+ // 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();
+ // 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);
QDir gutDir(QPEApplication::qpeDir()+"etc/gutenbrowser");
if(!gutDir.exists()) gutDir.mkdir(QPEApplication::qpeDir()+"etc/gutenbrowser",true);
if( chdir(QPEApplication::qpeDir()+"etc/gutenbrowser") == 0) {
odebug << "changing dir "+QPEApplication::qpeDir()+"etc/gutenbrowser" << oendl;
QString gutenindex1 = QPEApplication::qpeDir()+"etc/gutenbrowser/GUTINDEX.ALL";
QString cmd="wget -O " + gutenindex1 + " http://sailor.gutenberg.org/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();
@@ -975,104 +982,104 @@ void LibraryDialog::newList()
// 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);
} else {
QMessageBox::message("Note","Could not change directories");
}
// 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)
- item = ListView4->currentItem();
- if( item != 0) {
- titleString = item->text(0);
- ListView4->clearSelection();
- item = 0;
- }
- if( item == 0)
- item = ListView5->currentItem();
- if( item != 0) {
- titleString = item->text(0);
- ListView5->clearSelection();
- item = 0;
- }
- item=0;
- if(titleString.length()>2) {
- odebug << "Title is "+titleString << oendl;
- titleString.replace( QRegExp("\\s"), "%20");
- titleString.replace( QRegExp("'"), "%20");
- titleString.replace( QRegExp("\""), "%20");
- titleString.replace( QRegExp("&"), "%20");
- QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search";
- cmd="opera "+cmd;
- system(cmd);
- } else
- QMessageBox::message( "Note","<p>If you select a title, this will search google.com for that title.</p>");
- return true;
+ 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)
+ item = ListView4->currentItem();
+ if( item != 0) {
+ titleString = item->text(0);
+ ListView4->clearSelection();
+ item = 0;
+ }
+ if( item == 0)
+ item = ListView5->currentItem();
+ if( item != 0) {
+ titleString = item->text(0);
+ ListView5->clearSelection();
+ item = 0;
+ }
+ item=0;
+ if(titleString.length()>2) {
+ odebug << "Title is "+titleString << oendl;
+ titleString.replace( QRegExp("\\s"), "%20");
+ titleString.replace( QRegExp("'"), "%20");
+ titleString.replace( QRegExp("\""), "%20");
+ titleString.replace( QRegExp("&"), "%20");
+ QString cmd= "http://google.com/search?q="+titleString+"&num=30&sa=Google+Search";
+ cmd="opera "+cmd;
+ system(cmd);
+ } else
+ QMessageBox::message( "Note","<p>If you select a title, this will search google.com for that title.</p>");
+ return true;
}
/*
This loads the library Index*/
void LibraryDialog::FindLibrary()
{
- buttonLibrary->setDown(TRUE);
-
- qApp->processEvents();
- if( QFile( new_index).exists() /* && this->isHidden() */) {
- newindexLib.setName( new_index);
- indexLib.setName( new_index);
- odebug << "index file is "+ new_index << oendl;
- Newlibrary();
- } else {
- newindexLib.setName( old_index);
- indexLib.setName( old_index);
- odebug << "new index nameis "+ old_index << oendl;
- Library();
- }
- indexLoaded=true;
- buttonSearch->setEnabled(TRUE);
- moreInfoButton->setEnabled(TRUE);
-
- buttonLibrary->setDown(FALSE);
- buttonNewList->setText("Download");
- qApp->processEvents();
+ buttonLibrary->setDown(TRUE);
+
+ qApp->processEvents();
+ if( QFile( new_index).exists() /* && this->isHidden() */) {
+ newindexLib.setName( new_index);
+ indexLib.setName( new_index);
+ odebug << "index file is "+ new_index << oendl;
+ Newlibrary();
+ } else {
+ newindexLib.setName( old_index);
+ indexLib.setName( old_index);
+ odebug << "new index nameis "+ old_index << oendl;
+ Library();
+ }
+ indexLoaded=true;
+ buttonSearch->setEnabled(TRUE);
+ moreInfoButton->setEnabled(TRUE);
+
+ buttonLibrary->setDown(FALSE);
+ buttonNewList->setText("Download");
+ qApp->processEvents();
}
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
index fac21da..c7cdd83 100644
--- a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
+++ b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
@@ -200,65 +200,76 @@ void Gutenbrowser::goGetit( const QString &url, bool showMsg) {
// int eexit=0;
QString cmd;
// config.read();
qApp->processEvents();
QString filename = QPEApplication::qpeDir();
if(filename.right(1)!="/")
filename+="/etc/gutenbrowser/";
else
filename+="etc/gutenbrowser/";
odebug << "filename "+filename << oendl;
// QString filename = QDir::homeDirPath()+"/Applications/gutenbrowser/";
filename += url.right( url.length() - url.findRev("/",-1,TRUE) -1);
Config config("Gutenbrowser");
config.setGroup( "Browser" );
QString brow = config.readEntry("Preferred", "Opera");
odebug << "Preferred browser is "+brow << oendl;
if(!showMsg) { //if we just get the gutenindex.all
cmd="wget -O " + filename +" " + url+" 2>&1" ;
chdir(local_library);
odebug << "Issuing the system command: " << cmd << "" << oendl;
Output *outDlg;
- outDlg = new Output(this, tr("Gutenbrowser Output"),FALSE);
+
+ 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");
- 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);
+ 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();
+
}
- pclose(fp);
- outDlg->close();
+ outDlg->close();
+
if(outDlg)
delete outDlg;
} else {
if( brow == "Konq") {
cmd = "konqueror "+url+" &";
}
if( brow == "Opera") { //for desktop testing
cmd = "opera "+url+" &";
}
// if( brow == "Opera") { // on Zaurus
// cmd = "operagui "+url+" &";
// }
if( brow == "Mozilla") {
cmd = "mozilla "+url+" &";
}
if( brow == "Netscape") {
cmd = "netscape "+url+" &";
}
if(brow == "wget") {
// cmd="wget -q "+url+" &";
QString tempHtml=local_library+"webster.html";
cmd="wget -O "+tempHtml+" -q "+url;
}