author | llornkcor <llornkcor> | 2004-04-07 13:07:42 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2004-04-07 13:07:42 (UTC) |
commit | fc42c7317c956e5bc6e74bfbb1ec185d2faa79f4 (patch) (side-by-side diff) | |
tree | 703e89c7178f764aab25028d4525f74340b28dcb /noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp | |
parent | 9e1ecade17a77c3d50aecc4c92091d852e99e8d9 (diff) | |
download | opie-fc42c7317c956e5bc6e74bfbb1ec185d2faa79f4.zip opie-fc42c7317c956e5bc6e74bfbb1ec185d2faa79f4.tar.gz opie-fc42c7317c956e5bc6e74bfbb1ec185d2faa79f4.tar.bz2 |
add gutenbrowser
Diffstat (limited to 'noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp | 328 |
1 files changed, 328 insertions, 0 deletions
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp new file mode 100644 index 0000000..c9149ac --- a/dev/null +++ b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp @@ -0,0 +1,328 @@ +/*************************************************************************** + gutenbrowser.cpp - description + ------------------- + begin : Mon Jul 24 22:33:12 MDT 2000 + copyright : (C) 2000 -2004 by llornkcor + email : ljp@llornkcor.com +***************************************************************************/ +/*************************************************************************** + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +//#include "gutenbrowserData.h" +#include "gutenbrowser.h" + +#include <qpe/config.h> +#include <qpe/fontdatabase.h> +#include <qpe/menubutton.h> +#include <qpe/resource.h> +#include <qpe/qpeapplication.h> + +#include <qfontinfo.h> +#include <qtoolbutton.h> + +void Gutenbrowser::initSlots() { + + connect(LibraryButton,SIGNAL(released()),SLOT(LibraryBtn())); + connect(OpenButton,SIGNAL(released()),SLOT(OpenBtn())); + connect(SearchButton,SIGNAL(released()),SLOT(SearchBtn())); + connect(ForwardButton,SIGNAL(clicked()),SLOT(ForwardBtn())); + connect(BackButton,SIGNAL(clicked()),SLOT(BackBtn())); + connect(setBookmarkButton,SIGNAL(released()),SLOT(setBookmark())); + connect(dictionaryButton,SIGNAL(released()),SLOT(LookupBtn())); + connect(InfoBar,SIGNAL(clicked()),SLOT(InfoBarClick())); + connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); + connect(mainList,SIGNAL(clicked(QListBoxItem *)),SLOT(listClickedSlot(QListBoxItem *))); + connect(bookmarksMenu,SIGNAL(activated(int)),SLOT(Bookmark(int))); +} + +void Gutenbrowser::initConfig() { +//qDebug("Starting configuration."); + QDir library(local_library); + if ( !library.exists()) { + library.mkdir(local_library, TRUE); + QString msg; +// #ifndef Q_WS_WIN + msg = "chmod 755 " + local_library; + system(msg); +// QDir pixdir(local_library+"pix"); +// if ( !pixdir.exists()) { +// pixdir.mkdir(local_library+"pix", TRUE); +// QString msg; +// msg = "chmod 755 " + local_library+"pix"; +// system(msg); +// } +// #endif + + } + // qDebug( "init file is %s",iniFile.latin1()); + +#ifdef Q_WS_QWS + useSplitter=FALSE; + Config config("Gutenbrowser"); + + config.setGroup( "General" ); +//useWordWrap_CheckBox + useIcons=TRUE; +#else + + config.setGroup( "General" ); + QString s_Split=config.readEntry("Splitter", "TRUE" ); + QWidget *d = QApplication::desktop(); + int width=d->width(); + int height=d->height(); + int w=0, h=0; + QString str, str2; + + this->setMaximumWidth(width); + + if(s_Split=="TRUE") + useSplitter=TRUE; + else + useSplitter=FALSE; + + config.setGroup( "Geometry" ); + if(width < 1030) { + str = config.readEntry("Frame", "700,500"); + if( !str.isEmpty() && str.find(',')>=0) { + sscanf(str,"%d,%d",&w,&h); + resize(w,h); + str2.sprintf("%d,%d", (width-w)/2,(height-h)/2); + str = config.readEntry( "Position", str2); + } else { + resize( 740,510 ); + str2.sprintf("%d,%d", (width-w)/2,(height-h)/2); + str = config.readEntry( "Position",str2); + } + } else {// desktop is high res + str = config.readEntry("Frame", "990,640"); + if( !str.isEmpty() && str.find(',')>=0) { + sscanf(str,"%d,%d",&w,&h); + resize(w,h); + str2.sprintf("%d,%d", (width-w)/2,(height-h)/2); + str = config.readEntry( "Position", str2); + } else { + resize( 990,640 ); + str2.sprintf("%d,%d", (width-w)/2,(height-h)/2); + str = config.readEntry( "Position", str2); + } + } + int posX, posY; + bool ok; + QString goober; + goober=str.left( str.find(",", 0, TRUE) ); + posX=goober.toInt( &ok, 10); + goober=str.right( str.findRev(",", -1, TRUE) ); + posY= goober.toInt( &ok, 10); +// move( posX, posY); + str = config.readEntry("Icons", "TRUE"); + if(str == "TRUE") + useIcons=TRUE; + else + useIcons=FALSE; +#endif +// #if defined(_WS_WIN_) +// move( posX-4, posY-20); +// #endif + + config.setGroup( "Browser" ); + brow = config.readEntry( "Preferred", "Opera"); + config.setGroup( "FTPsite" ); // ftp server config + ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org"); +// ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); + 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"); + + //bool ok2; + QString temp; + QString copying; + copying=""; + + config.setGroup("General"); + QString qExit; + qExit=config.readEntry("queryExit","TRUE"); + if(qExit=="TRUE") { + b_queryExit=TRUE; +// qDebug("Please query before leaving the library."); + } else { +// qDebug("Please DO NOT query before leaving the library."); + b_queryExit=FALSE; + } +// bookmarks +// config.setGroup("Titles"); +// QString tmpTitle=config.readEntry(file_name,""); + + +}// end initConfig() + +void Gutenbrowser::initMenuBar() +{ +// qDebug("Starting menu init."); + // menuBar entry fileMenu + menubar = new QPEMenuBar(this); + + fileMenu=new QPopupMenu(); + fileMenu->insertItem(Resource::loadPixmap("gutenbrowser/openbook"), + "Open Local Library...", this, SLOT( OpenBtn()) ); +// fileMenu->insertItem("Download FTPSite", this, SLOT( downloadFtpList()) ); + fileMenu->insertItem( Resource::loadPixmap("home"), + "Download Library Index", this, SLOT( downloadLibIndex()) ); + fileMenu->insertItem( Resource::loadPixmap("quit"), + "Quit Gutenbrowser...", this, SLOT( ByeBye()) ); + // menuBar entry editMenu + + editMenu=new QPopupMenu(); + + editMenu->insertItem(Resource::loadPixmap("up"), "Top", + this, SLOT(TopBtn()) ); + editMenu->insertItem( Resource::loadPixmap("back"), "Beginning", + this, SLOT(doBeginBtn()) ); + editMenu->insertItem( Resource::loadPixmap("gutenbrowser/search"), "Search", + this, SLOT(SearchBtn()) ); + + editMenu->insertItem("Clear", this, SLOT(ClearEdit()) ); + + optionsMenu= new QPopupMenu(); + optionsMenu->insertItem( Resource::loadPixmap("gutenbrowser/configure"), + "Configure", this, SLOT(doOptions()) ); + + donateMenu = new QPopupMenu(); +// donateMenu->insertItem("Gutenberg", this, SLOT(donateGutenberg()) ); + donateMenu->insertItem( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), + "Gutenbrowser Developer", this, SLOT(infoGutenbrowser()) ); + + menubar->insertItem("File", fileMenu); + menubar->insertItem("Page", editMenu); + menubar->insertItem("Options", optionsMenu); +// menubar->insertItem("More Info", donateMenu); + + menu->addWidget( menubar,0); + + topLayout->addLayout( menu, 0); +} + +void Gutenbrowser::initButtonBar() +{ +//qDebug("Starting buttonbar init."); + + OpenButton = new QPushButton( this, "OpenButton" ); + OpenButton->setFocusPolicy( QWidget::TabFocus ); + + LibraryButton = new QPushButton( this, "LibraryButton" ); + LibraryButton->setFocusPolicy( QWidget::TabFocus ); + + BackButton = new QPushButton( this, "BackButton" ); + BackButton->setFocusPolicy( QWidget::TabFocus ); + BackButton->setAutoRepeat(TRUE); + + ForwardButton = new QPushButton( this, "ForwardButton" ); + ForwardButton->setFocusPolicy( QWidget::TabFocus ); +// ForwardButton->setAutoRepeat(TRUE); + + SearchButton = new QPushButton( this, "SearchButton" ); + SearchButton->setFocusPolicy( QWidget::TabFocus ); + + setBookmarkButton = new QPushButton( this, "setBookmark" ); + setBookmarkButton->setFocusPolicy( QWidget::TabFocus ); + + lastBmkButton = new MenuButton( this, "lastBmkButton" ); + lastBmkButton->setFocusPolicy( QWidget::TabFocus ); + + bookmarksMenu = new QPopupMenu(); + bookmarksMenu->insertItem("Last Set", this, SLOT(Bookmark( int) )); + + lastBmkButton->setPopup(bookmarksMenu); + + dictionaryButton = new QPushButton( this, "dictionaryButton" ); + dictionaryButton->setFocusPolicy( QWidget::TabFocus ); + + InfoBar = new QPushButton( this, "Info_Bar" ); +// qDebug("Infobar"); +// if(!useSplitter) { + + buttonsHidden=FALSE; + buttons2->setSpacing(2); + buttons2->addWidget(OpenButton, 0, AlignCenter); + buttons2->addWidget(LibraryButton, 0, AlignCenter); + buttons2->addWidget(BackButton, 0, AlignCenter); + buttons2->addWidget(ForwardButton, 0, AlignCenter); + buttons2->addWidget(SearchButton, 0, AlignCenter); + buttons2->addWidget(setBookmarkButton, 0, AlignCenter); + buttons2->addWidget(lastBmkButton, 0, AlignCenter); + buttons2->addWidget(dictionaryButton, 0, AlignCenter); + buttons2->addWidget(InfoBar, 0, AlignCenter); + + topLayout->setSpacing(0); + topLayout->addLayout( buttons2,0); + +} + +/* STATUSBAR*/ +void Gutenbrowser::initStatusBar() +{ +// #ifndef Q_WS_QWS + +// statusBar = new QStatusBar( this, "Status Bar"); +// statusBar->message(IDS_STATUS_DEFAULT, 2000); +// #endif +} + +void Gutenbrowser::initView() +{ + // set the main widget here +// QFont defaultFont( "charter", 10, 50, 0 ); + Lview = new MultiLine_Ex(this); + + Config cfg("Gutenbrowser"); + cfg.setGroup("Font"); + + FontDatabase fdb; + QFont defaultFont=Lview->font(); + QFontInfo fontInfo(defaultFont); + + QString family = cfg.readEntry("Family", fontInfo.family()); + QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); + int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); + 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"); + +// 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(); + + topLayout->addLayout( edits, 0); +} |