summaryrefslogtreecommitdiff
path: root/noncore
authorllornkcor <llornkcor>2005-02-28 09:24:10 (UTC)
committer llornkcor <llornkcor>2005-02-28 09:24:10 (UTC)
commit61fa699140c5efbb6ba0bf2a62f7e8fbf62976be (patch) (side-by-side diff)
tree7b3695c8a13d694487011526e3ae052b69b6d5fb /noncore
parent7d4beaf7922f15451da6ba65c2e21fb569887b52 (diff)
downloadopie-61fa699140c5efbb6ba0bf2a62f7e8fbf62976be.zip
opie-61fa699140c5efbb6ba0bf2a62f7e8fbf62976be.tar.gz
opie-61fa699140c5efbb6ba0bf2a62f7e8fbf62976be.tar.bz2
fix index dl from main view, user 8 bit files by default, do not show audio files
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-gutenbrowser/LibraryDialog.cpp27
-rw-r--r--noncore/apps/opie-gutenbrowser/gutenbrowser.cpp17
2 files changed, 31 insertions, 13 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
@@ -46,283 +46,295 @@ LibraryDialog::LibraryDialog( QWidget* parent, const char* name , bool /*modal*
// this->setMaximumWidth(240);
index = "GUTINDEX.ALL";
local_library = (QDir::homeDirPath ()) +"/Applications/gutenbrowser/";
local_index = local_library + index;
QString iniFile ;
iniFile = QPEApplication::qpeDir()+"etc/gutenbrowser/gutenbrowserrc";
new_index =QPEApplication::qpeDir()+"etc/gutenbrowser/PGWHOLE.TXT";
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";
Config config("Gutenbrowser");
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");
i_binary = 0;
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);
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();
}
/*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;
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))
@@ -503,348 +515,343 @@ bool LibraryDialog::download_Etext()
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++;
#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;
// 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();
}
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)) {
// // 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;
// #if defined(_WS_WIN_)
// WinExec( cmd, SW_HIDE );
// #endif
// #if defined(_WS_X11_)
// system( cmd);
// #endif
// #ifndef Q_WS_QWS
// system( cmd);
// #endif
// // 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()
{
}
/*
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
@@ -128,209 +128,220 @@ Gutenbrowser::Gutenbrowser(QWidget *,const char*, WFlags )
for (int i = 0; i <= i_numofFiles; i++) {
// tempFileName.setNum(i);
config.setGroup( "Files" );
QString ramble = config.readEntry( QString::number(i), "" );
config.setGroup( "Titles" );
QString tempTitle = config.readEntry( ramble, "");
config.setGroup( tempTitle);
int index = config.readNumEntry( "LineNumber", -1 );
if( index != -1) {
odebug << tempTitle << oendl;
if(!tempTitle.isEmpty()) bookmarksMenu->insertItem( tempTitle);
}
}
// QString gutenIndex= local_library + "GUTINDEX.ALL";
QString gutenIndex = QPEApplication::qpeDir()+ "etc/gutenbrowser/GUTINDEX.ALL";
qDebug("gutenindex "+gutenIndex );
if( QFile( gutenIndex).exists() ) {
indexLib.setName( gutenIndex);
} else {
QString localLibIndexFile = QPEApplication::qpeDir()+ "etc/gutenbrowser/PGWHOLE.TXT";
// QString localLibIndexFile= local_library + "PGWHOLE.TXT";
newindexLib.setName( localLibIndexFile);
}
qDebug("attempting new library");
LibraryDlg = new LibraryDialog( this, "Library Index" /*, TRUE */);
loadCheck = false;
chdir(local_library);
if(!showMainList) {
Lview->setFocus();
// if(firstTime)
// Bookmark();
for (int i=1;i< qApp->argc();i++) {
qDebug("Suppose we open somethin");
if(!load(qApp->argv()[i])) return;
}
} else {
fillWithTitles();
mainList->setFocus();
// mainList->setCurrentItem(0);
}
writeConfig();
QTimer::singleShot( 250, this, SLOT(hideView()) );
} //end init
Gutenbrowser::~Gutenbrowser() {
// QPEApplication::grabKeyboard();
// QPEApplication::ungrabKeyboard();
odebug << "Exit" << oendl;
}
/*
Google.com search */
void Gutenbrowser::InfoBarClick() {
QString text;
if( Lview->hasSelectedText()) {
Lview->copy();
QClipboard *cb = QApplication::clipboard();
text = cb->text();
} else {
// text=title;
text=this->caption();
}
searchGoogle(text);
}
/*
download http with wget or preferred browser */
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;
+ 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);
+ 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();
+
+ }
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;
}
chdir(local_library);
odebug << "Issuing the sys command: " << cmd << "" << oendl;
system(cmd);
}
}
void Gutenbrowser::toggleButtonIcons( bool useEm) {
QString pixDir;
if(useEm)
useEm=TRUE;
pixDir=QPEApplication::qpeDir()+"pics/gutenbrowser";
odebug << "Docdir is "+QPEApplication::documentDir() << oendl;
if( useIcons && QDir( pixDir).exists() ) {
LibraryButton->setPixmap( Resource::loadPixmap("home") ); //in inline
OpenButton->setPixmap( Resource::loadPixmap("gutenbrowser/openbook"));
ForwardButton->setPixmap( Resource::loadPixmap("forward"));//in inline
BackButton->setPixmap( Resource::loadPixmap("back") );//in inline
SearchButton->setPixmap( Resource::loadPixmap("gutenbrowser/search") );//in inline
lastBmkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark_folder"));
setBookmarkButton->setPixmap( Resource::loadPixmap("gutenbrowser/bookmark") );
dictionaryButton->setPixmap( Resource::loadPixmap("gutenbrowser/spellcheck") );
InfoBar->setPixmap( Resource::loadPixmap("gutenbrowser/google"));
}
}
bool Gutenbrowser::queryExit()
{
int exit=QMessageBox::information(this, "Quit...", "Do your really want to quit?",
QMessageBox::Ok, QMessageBox::Cancel);
if (exit==1) {
writeConfig();
qApp->quit();
} else {
};
return (exit==1);
}
// SLOT IMPLEMENTATION
void Gutenbrowser::slotFilePrint() {
}
void Gutenbrowser::ByeBye() {
if (b_queryExit)
queryExit();
else {
// writeConfig();
qApp->quit();
}
}
void Gutenbrowser::HelpBtn() {
HelpMe* HelpDlg;
HelpDlg = new HelpMe( this, "Help Dialog");
HelpDlg->showMaximized();
}
void Gutenbrowser::DownloadIndex() {
#ifndef Q_WS_QWS
{
switch( QMessageBox::information( 0, (tr("Download Library Index, or FTP sites?")),
(tr("Do you want to download the newest\n"
"Project Gutenberg Library Index?\n"
"or select an ftp site?\n")),
(tr("&Library Index")), (tr("&Ftp Site")), (tr("&Cancel")), 2, 2 ) )
{
case 0: // index clicked,
downloadLibIndex();
break;