summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-07-08 08:37:19 (UTC)
committer llornkcor <llornkcor>2004-07-08 08:37:19 (UTC)
commita53291faf419c90bf22db7cd6d6f26dece2053c1 (patch) (side-by-side diff)
treed0a5a10621b8705502cc87bde43e18de39042be6
parenta7b08ae7dbce8675981321828e61c949968d1afe (diff)
downloadopie-a53291faf419c90bf22db7cd6d6f26dece2053c1.zip
opie-a53291faf419c90bf22db7cd6d6f26dece2053c1.tar.gz
opie-a53291faf419c90bf22db7cd6d6f26dece2053c1.tar.bz2
rework view, fix bookmarking
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-gutenbrowser/gutenbrowser.cpp33
-rw-r--r--noncore/apps/opie-gutenbrowser/gutenbrowser.h1
-rw-r--r--noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp17
3 files changed, 33 insertions, 18 deletions
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
index be920dd..d0af114 100644
--- a/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
+++ b/noncore/apps/opie-gutenbrowser/gutenbrowser.cpp
@@ -140,57 +140,58 @@ Gutenbrowser::Gutenbrowser(QWidget *,const char*, WFlags )
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");
- load(qApp->argv()[i]);
+ 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);
}
/*
@@ -389,49 +390,49 @@ void Gutenbrowser::SearchBtn() {
if( loadCheck) {
odebug << "loadCheck: we have a loaded doc" << oendl;
Search();
}
// else
// QMessageBox::message("Note","Sorry, can't search. No etext is loaded");
}
void Gutenbrowser::ForwardBtn() {
if( !ForwardButton->autoRepeat() && !ForwardButton->isDown()) {
QString s;
QString insertString;
int pageSize= Lview->PageSize();
Lview->clear();
for(int fd=0; fd < pageSize - 1;fd++) {
f.readLine(s, 256);
if(useWrap)
s.replace(QRegExp("\n"),"");
insertString+=s;
Lview->insertLine( s, -1);
- odebug << s << oendl;
+// odebug << s << oendl;
currentLine++;
}
// Lview->insertAt( insertString,0,0, FALSE);
currentFilePos = f.at();
// if( i_pageNum != pages) {
// Lview->MultiLine_Ex::pageDown( FALSE);
i_pageNum++;
pageStopArray.resize(i_pageNum + 1);
// int length = Lview->length();
pageStopArray[i_pageNum ] = currentFilePos;
odebug << currentFilePos << " current page is number " << i_pageNum
<< ", pagesize " << pageSize << ", length " << Lview->length()
<< ", current " << pageStopArray[i_pageNum] << oendl;
setStatus();
// Lview->setCursorPosition( 0, 0, FALSE);
// }
} else {
odebug << "bal" << oendl;
// if( i_pageNum != pages) {
// // int newTop = Lview->Top();
// // if(Lview->lastRow() > i)
@@ -558,49 +559,49 @@ void Gutenbrowser::BeginBtn() {
int pos = 0;//, i = 0;
int i_topRow = Lview->topRow();
QString LeftText;// = Lview->text();
int linesPerPage = Lview->lastRow() - Lview->topRow();
// int pages = (( linesPerPage / Lview->editSize() ) ) +1;
// int pageN = 0;
i_pageNum = 1;
int lastPage=1;
int lineNo=0;
QString s;
f.at( 0);
while ( !f.atEnd() ) {
f.readLine(s, 256);
lineNo++;
LeftText = s;
currentFilePos = f.at();
i_pageNum = lineNo/pageSize;
if(lastPage < i_pageNum) {
pageStopArray.resize(i_pageNum + 1);
pageStopArray[i_pageNum ] = currentFilePos;
- odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl;
+// odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl;
}
// lastPage = i_pageNum;
if( LeftText.find( s_pattern, 0 , TRUE) != -1 || LeftText.find( sPattern2, 0 , TRUE) != -1 ) {
odebug << "<<<<<< FOUND IT!! new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl;
break;
}
}
if(f.atEnd()) //in case we didnt find anything, we need to show something
f.at(0);
Lview->clear();
for(int fd=0; fd < pageSize - 1;fd++) {
f.readLine(s, 256);
if(useWrap)
s.replace(QRegExp("\n"),"");
Lview->insertLine( s, -1);
currentLine++;
}
i_pageNum = lineNo/pageSize;
pageStopArray.resize(i_pageNum + 1);
// int length = Lview->length();
qApp->processEvents();
@@ -629,206 +630,210 @@ void Gutenbrowser::setBookmark() {
cfg.setGroup("General");
file_name=cfg.readEntry("Current","");
qApp->processEvents();
odebug << "Settingbook mark "+file_name << oendl;
cfg.setGroup("Titles");
title=cfg.readEntry(file_name,"");
odebug << "title is "+ title << oendl;
cfg.setGroup( "Bookmarks" );
cfg.writeEntry("File Name",file_name);
cfg.writeEntry("Page Number",QString::number(i_pageNum) );
cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1]));
cfg.writeEntry("Title", title);
int row = Lview->topRow();// Lview->Top();
cfg.writeEntry("LineNumber",QString::number(row) );
cfg.setGroup(title);
cfg.writeEntry("File Name",file_name);
cfg.writeEntry( "LineNumber", QString::number( row));
cfg.writeEntry( "PagePosition", QString::number( pageStopArray[i_pageNum - 1]));
cfg.writeEntry( "Page Number", QString::number( i_pageNum) );
+ cfg.write();
bookmarksMenu->insertItem( title);
}
} //end setBookmark
/* goes to last set bookmark*/
void Gutenbrowser::Bookmark( int itemId) {
// qApp->processEvents();
Config config("Gutenbrowser");
config.setGroup( "Bookmarks" );
odebug << "<<<<<< " << Lview->PageSize() << ", " << Lview->lastRow() - Lview->topRow() << "" << oendl;
QString itemString;
odebug << "menu item " << itemId << "" << oendl;
QString tempTitle;
QString s_Bmrkrow;
QString s_pageNum;
int Bmrkrow=0;
int bookmarkPosition = 0;
// qApp->processEvents();
config.setGroup( "Bookmarks" );
title = config.readEntry("Title", "");
file_name = config.readEntry("File Name", "");
i_pageNum = config.readNumEntry("Page Number", 0);
bookmarkPosition = config.readNumEntry( "PagePosition",0);
Bmrkrow = config.readNumEntry("LineNumber",0);
if( !file_name.contains("/")) {
file_name = local_library + file_name;
}
// getTitle(file_name);
// qApp->processEvents();
// Lview->setFocus();
this->setFocus();
Lview->clear();
- load(file_name);
+ if(!load(file_name)) return;
int pageSize= Lview->PageSize();
f.at(0);
// Lview->clear();
QString s;
int lineNo=0;
int lastPage=1;
while ( !f.atEnd() ) {
f.readLine(s, 256);
lineNo++;
currentFilePos = f.at();
i_pageNum = lineNo/pageSize;
if(lastPage < i_pageNum) {
pageStopArray.resize(i_pageNum + 1);
pageStopArray[i_pageNum ] = currentFilePos;
- odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl;
+// odebug << "new page number " << i_pageNum << ", found at " << currentFilePos << "" << oendl;
}
if(currentFilePos == bookmarkPosition)
break;
}
if(f.atEnd())
f.at(0);
else
f.at( bookmarkPosition);
for(int fd=0; fd < pageSize - 1;fd++) {
f.readLine(s, 256);
lineNo++;
if(useWrap)
s.replace(QRegExp("\n"),"");
Lview->insertLine( s, -1);
currentLine++;
}
i_pageNum = lineNo/pageSize;
pageStopArray.resize(i_pageNum + 1);
if(showMainList) {
showMainList=FALSE;
mainList->hide();
Lview->show();
// qApp->processEvents();
}
odebug << "bookmark loaded" << oendl;
setCaption(title);
}
bool Gutenbrowser::load( const char *fileName) {
// QCopEnvelope ( "QPE/System", "busy()" );
odebug << "Title is already set as "+title << oendl;
odebug << "sizeHint " << sizeHint().height() << " pageSize " << Lview->PageSize() << "" << oendl;
+// pointSize = Lview->fontInfo().pointSize();
+// odebug << "sizeHint " << sizeHint().height() << " point size " << pointSize << "" << oendl;
if( Lview->PageSize() < 4) {
- Lview->setMaximumHeight( sizeHint().height() );
+ // Lview->setMaximumHeight( sizeHint().height() );
Lview->setMinimumHeight( sizeHint().height() );
pointSize = Lview->fontInfo().pointSize();
odebug << "sizeHint " << sizeHint().height() << " point size " << pointSize << "" << oendl;
- if(pointSize < 10)
+ if(pointSize < 15)
Lview->setFixedVisibleLines(19);
else
Lview->setFixedVisibleLines( ( (sizeHint().height() / pointSize ) * 2) -2);
}
Config cfg("Gutenbrowser");
cfg.setGroup("General");
cfg.writeEntry("Current",fileName);
+ cfg.write();
currentLine=0;
file_name=fileName;
QString o_file = fileName;
// if (i_pageNum < 1) {
i_pageNum = 1;
// }
odebug << "ready to open "+o_file << oendl;
if(f.isOpen()) f.close();
f.setName( o_file);
if ( !f.open( IO_ReadOnly)) {
QMessageBox::message( (tr("Note")), (tr("File not opened sucessfully.\n" +o_file)) );
return false;
}
currentFilePos = 0;
pageStopArray.resize(3);
pageStopArray[0] = currentFilePos;
fileHandle = f.handle();
QString insertString;
QTextStream t(&f);
QString s;
for(int fd=0; fd < Lview->PageSize() ;fd++) {
s=t.readLine();
// insertString+=s;
if(useWrap)
s.replace(QRegExp("\n"),"");
// s.replace(QRegExp("\r"),"");
Lview->insertLine( s,-1);
currentLine++;
}
// int length = Lview->length();
currentFilePos = f.at();
pageStopArray[1] = currentFilePos;
odebug << "<<<<<<<<<<<" << currentFilePos << " current page is number " << i_pageNum
<< ", length " << Lview->length() << ", current " << pageStopArray[i_pageNum]
<< ", pageSize " << Lview->PageSize() << oendl;
Lview->setMaxLines(Lview->PageSize()*2);
- odebug << "Gulped " << currentLine << "" << oendl;
+// odebug << "Gulped " << currentLine << "" << oendl;
setCaption(title);
Lview->setAutoUpdate( TRUE);
// Lview->setCursorPosition(0,0,FALSE);
// pages = (int)(( Lview->numLines() / Lview->editSize() ) / 2 ) +1;
//odebug << "number of pages " << pages << "" << oendl;
loadCheck = true;
enableButtons(true);
if( donateMenu->count() == 3) {
donateMenu->insertItem("Current Title", this, SLOT( InfoBarClick() ));
}
Lview->setFocus();
// QCopEnvelope("QPE/System", "notBusy()" );
return true;
} // end load
void Gutenbrowser::Search() {
// if( searchDlg->isHidden())
{
odebug << "Starting search dialog" << oendl;
@@ -1015,93 +1020,93 @@ void Gutenbrowser::LibraryBtn() {
//
if( file_name.find(".zip"))
{
odebug << "Found zip file\n" << oendl;
// QStringList args;
// args="unzip";
// args+="-o";
// args+=local_library+file_name;
// args+="-d";
// args+=local_library;
QString cmd = "/usr/bin/unzip -o " + local_library+file_name + " -d " + local_library;
odebug << "Issuing the command "+ cmd << oendl;
// unzipProc=new QProcess( this, "unzipProc" ); /// fark that idea!
// unzipProc->start();
system(cmd);
remove( file_name);
}
// //
// file_name = file_name.left(4)+ ".txt";
if( LibraryDlg)
delete LibraryDlg;
setTitle();
// QCopEnvelope ( "QPE/System", "busy()" );
- load( file_name);
+ if( !load( file_name)) return;
} else {
printf("Not opening the file.\n");
}
}
}
if(showMainList) {
if(!Lview->isHidden())
Lview->hide();
qApp->processEvents();
showMainList=TRUE;
if(mainList->isHidden())
mainList->show();
fillWithTitles();
qApp->processEvents();
} else
setCentralWidget( Lview);
// QPEApplication::grabKeyboard();
// fixKeys();
}
void Gutenbrowser::OpenBtn() {
QString s_temp;
s_temp = status;
OpenEtext* OpenDlg;
OpenDlg = new OpenEtext(this,"OpenDlg");
OpenDlg->showMaximized();
if( OpenDlg->exec() != 0) {
title = OpenDlg->openFileTitle;
odebug << "title open as "+title << oendl;
file_name = OpenDlg->file;
i_pageNum = 1;
if( !file_name.isEmpty() || file_name.length() > 2 ) {
if(showMainList) {
showMainList=FALSE;
odebug << "ShowMainList is now false" << oendl;
mainList->hide();
Lview->show();
qApp->processEvents();
}
Lview->clear();
// QCopEnvelope ( "QPE/System", "busy()" );
- load(file_name);
+ if(!load(file_name)) return;
} else {
odebug << "file_name is empty!" << oendl;
if(showMainList) {
if(!Lview->isHidden())
Lview->hide();
qApp->processEvents();
if(mainList->isHidden())
mainList->show();
fillWithTitles();
qApp->processEvents();
}
}
}
if( OpenDlg)
delete OpenDlg;
/*
Config config("Gutenbrowser");
config.setGroup( title);
file_name = config.readEntry("File Name", "");
i_pageNum = config.readNumEntry("Page Number", -1);
int Bmrkrow = config.readNumEntry("LineNumber", -1);
if(Bmrkrow > -1) {
if( Bmrkrow > Lview->topRow() ) {
@@ -1757,90 +1762,92 @@ void Gutenbrowser::fillWithTitles() {
if( !temp.isEmpty()) {
mainList->insertItem ( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), temp, -1);
}
}
}
void Gutenbrowser::listClickedSlot( QListBoxItem * index) {
// if( !working) {
// working=true;
if(index) {
// QCopEnvelope ( "QPE/System", "busy()" );
title = index->text();
showMainList=FALSE;
mainList->hide();
Lview->show();
qApp->processEvents();
QString temp;
temp.setNum( mainList->currentItem() + 1);
// openFileTitle = title;
Config config("Gutenbrowser");
config.setGroup( "Files" );
QString file = config.readEntry(temp, "");
odebug << "About to load" << oendl;
if( Lview->isVisible())
- load(file);
+ if(!load(file)) return;
config.setGroup( title);
file_name = config.readEntry("File Name", "");
i_pageNum = config.readNumEntry("Page Number", 1);
int Bmrkrow = config.readNumEntry("LineNumber", -1);
if(Bmrkrow > -1) {
if( Bmrkrow > Lview->topRow() ) {
// Lview->setCursorPosition( Bmrkrow /* - Lview->topRow() */,0, FALSE );
Lview->ScrollUp( Bmrkrow - Lview->topRow() );
// AdjustStatus();
}
else if( Bmrkrow < Lview->topRow() ) {
// Lview->setCursorPosition( Lview->topRow() - Bmrkrow ,0, FALSE );
Lview->ScrollDown( Lview->topRow() - Bmrkrow );
// AdjustStatus();
}
}
}
}
void Gutenbrowser::infoGutenbrowser() {
QMessageBox::message("Info","Gutenbrowser was developed by\n"
"Lorn Potter\n"
"ljp<ljp@llornkcor.com>\n");
}
void Gutenbrowser::setDocument(const QString & frozenBoogers) {
- this->hide();
+// this->hide();
+ qWarning("\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSET DOCUMENT\n");
if(showMainList) {
showMainList=FALSE;
if(!mainList->isHidden())
mainList->hide();
if(Lview->isHidden())
Lview->show();
qApp->processEvents();
}
DocLnk lnk;
lnk = DocLnk(frozenBoogers);
+ qWarning("open "+frozenBoogers);
// odebug << lnk.file() << oendl;
title=lnk.comment();
- load( lnk.file());
+ if(!load( lnk.file())) return;
this->show();
// odebug << title << oendl;
// qApp->processEvents();
// repaint();
}
void Gutenbrowser::mainListPressed(int mouse, QListBoxItem * , const QPoint & )
{
switch (mouse) {
case 1:
break;
case 2: {
QPopupMenu m;// = new QPopupMenu( Local_View );
m.insertItem( tr( "Open" ), this, SLOT( menuOpen() ));
m.insertSeparator();
m.insertItem( tr( "Search google.com" ), this, SLOT( menuGoogle()));
m.insertItem( tr( "Edit Title" ), this, SLOT( menuEditTitle()));
// m.insertSeparator();
// m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
m.exec( QCursor::pos() );
}
break;
};
}
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowser.h b/noncore/apps/opie-gutenbrowser/gutenbrowser.h
index acb6e59..2958f01 100644
--- a/noncore/apps/opie-gutenbrowser/gutenbrowser.h
+++ b/noncore/apps/opie-gutenbrowser/gutenbrowser.h
@@ -141,48 +141,49 @@ private slots:
void doBeginBtn();
void goGetit(const QString &url, bool showMsg);
void infoGutenbrowser();
void listClickedSlot( QListBoxItem *);
void mainListPressed(int, QListBoxItem *, const QPoint &);
void menuEditTitle();
void search_slot();
void searchdone_slot();
void setDocument(const QString&);
void slotFilePrint();
// void setStyle(int styleInt);
protected:
bool UnZipIt(const QString &zipFile);
bool b_queryExit;
bool queryExit();
bool showMainList;
bool useIcons;
bool working;
protected slots:
+ void hideView();
void BackBtn();
void Bookmark( int);
void ByeBye();
void ChangeFont();
void ClearEdit();
void DownloadIndex();
void ForwardBtn();
void HelpBtn();
void InfoBarClick();
void LibraryBtn();
void LookupBtn();
void OpenBtn();
void PrintBtn();
void SearchBtn();
void annotations();
void doOptions();
void donateByteMonkie();
void donateGutenberg();
void downloadFtpList();
void downloadLibIndex();
void enableButtons(bool);
void fillWithTitles();
void fixKeys();
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp
index 9473ba9..c93dbc5 100644
--- a/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp
+++ b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp
@@ -292,40 +292,47 @@ void Gutenbrowser::initView()
QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) );
defaultFont = fdb.font(family,style,i_size,charSet);
QString italic = cfg.readEntry("Italic","FALSE");
if(italic=="TRUE") {
qDebug("Set Italic font");;
defaultFont = fdb.font( family, "Regular", i_size,charSet); //workaround
defaultFont.setItalic(TRUE);
}
Lview->setFont( defaultFont);
update();
cfg.setGroup("General");
if( cfg.readBoolEntry("WordWrap", 1)) {
Lview->setWordWrap(QMultiLineEdit::WidgetWidth);
useWrap=true;
} else {
Lview->setWordWrap(QMultiLineEdit::NoWrap);
useWrap = false;
}
mainList = new QListBox(this,"mainlist");
-
+ mainList->hide();
// QPEApplication::setStylusOperation( mainList->viewport(),QPEApplication::RightOnHold);
// mainList->showMaximized();
// mainList->setGeometry(2,30,230,160);
Lview->setReadOnly( true);
edits->addWidget( Lview);
edits->addWidget(mainList);
- if(!showMainList) {
- Lview->setText( "\nThis is gutenbrowser for the Sharp Zaurus.\nMake your self at home, sit back, relax and read something great. ");
- } else
- Lview->hide();
+// if(!showMainList) {
+// Lview->setText( "\nThis is gutenbrowser for the Sharp Zaurus.\nMake your self at home, sit back, relax and read something great. ");
+// }
+// else
+// Lview->hide();
topLayout->addLayout( edits, 0);
qDebug("end initView");
}
+
+void Gutenbrowser::hideView() {
+// qWarning("Hide View");
+ mainList->show();
+ Lview->hide();
+}