author | pohly <pohly> | 2005-05-05 14:39:33 (UTC) |
---|---|---|
committer | pohly <pohly> | 2005-05-05 14:39:33 (UTC) |
commit | 39fbfd5eb7e45d73d38e8a2ce9437a3d7e1b8e91 (patch) (side-by-side diff) | |
tree | 96e66fdc18dca4d4ab8611133e072f57dea224b9 /noncore/apps/opie-reader/QTReaderApp.cpp | |
parent | 279fc4fd1986074acbadd3a8e86fcf3968a8dd5c (diff) | |
download | opie-39fbfd5eb7e45d73d38e8a2ce9437a3d7e1b8e91.zip opie-39fbfd5eb7e45d73d38e8a2ce9437a3d7e1b8e91.tar.gz opie-39fbfd5eb7e45d73d38e8a2ce9437a3d7e1b8e91.tar.bz2 |
new opie-reader sources with support for ArriereGo, Reb input and flite output plugins
Diffstat (limited to 'noncore/apps/opie-reader/QTReaderApp.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/QTReaderApp.cpp | 238 |
1 files changed, 172 insertions, 66 deletions
diff --git a/noncore/apps/opie-reader/QTReaderApp.cpp b/noncore/apps/opie-reader/QTReaderApp.cpp index 876b65a..6753698 100644 --- a/noncore/apps/opie-reader/QTReaderApp.cpp +++ b/noncore/apps/opie-reader/QTReaderApp.cpp @@ -19,2 +19,3 @@ **********************************************************************/ + #include <qregexp.h> @@ -68,2 +69,3 @@ #include <qfontdatabase.h> + #ifdef USEQPE @@ -71,3 +73,4 @@ #ifdef OPIE -//#include <qpe/applnk.h> +#if defined(OPIEFILEDIALOG) +#include <qpe/applnk.h> #include <opie2/ofiledialog.h> @@ -78,2 +81,5 @@ using namespace Opie::Ui; #else +#include "fileBrowser.h" +#endif +#else #include "qfiledialog.h" @@ -90,3 +96,3 @@ using namespace Opie::Ui; -bool CheckVersion(int&, int&, char&); +bool CheckVersion(int&, int&, char&, QWidget*); @@ -155,7 +161,5 @@ void QTReaderApp::listBkmkFiles() QFileInfo *fi; // pointer for traversing - while ( (fi=it.current()) ) { // for each file... - bkmkselector->insertItem(fi->fileName()); - cnt++; + bkmkselector->insertItem(fi->fileName(), cnt++); @@ -179,4 +183,3 @@ void QTReaderApp::listBkmkFiles() { - bkmkselector->insertItem(de->d_name); - cnt++; + bkmkselector->insertItem(de->d_name, cnt++); } @@ -204,3 +207,3 @@ void QTReaderApp::hidetoolbars() -#ifdef USEQPE +#if defined(USEQPE) menubar->hide(); @@ -335,3 +338,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) -#ifdef USEQPE +#if defined(USEQPE) menubar = new QToolBar("Menus", this, m_tbposition); @@ -342,3 +345,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) -#ifdef USEQPE +#if defined(USEQPE) QPopupMenu* tmp = new QPopupMenu(mb); @@ -438,2 +441,5 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) config.setGroup( "View" ); +#if defined(USEQPE) && defined(USENEWFULLSCREEN) + m_usenewfullscreen = config.readBoolEntry("NewFullScreen", false); +#endif m_debounce = config.readNumEntry("Debounce", 0); @@ -458,2 +464,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) reader->bstriphtml = config.readBoolEntry( "StripHtml", false ); + reader->bNoInlineTables = config.readBoolEntry( "NoInlineTables", false ); reader->bpeanut = config.readBoolEntry( "Peanut", false ); @@ -473,2 +480,4 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) reader->m_scrollstep = config.readNumEntry( "ScrollStep", 1); + reader->m_outputName = config.readEntry( "OutputCodec", ""); + @@ -502,4 +511,6 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) m_scrollishidden = config.readBoolEntry( "HideScrollBar", false ); + m_hidebars = config.readBoolEntry( "HideToolBar", false ); reader->brepalm = config.readBoolEntry( "Repalm", false ); + reader->bunderlineLink = config.readBoolEntry( "UnderlineLink", true ); reader->bkern = config.readBoolEntry( "Kern", false ); @@ -508,2 +519,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) reader->setContinuous(config.readBoolEntry( "Continuous", true )); + reader->setDoubleBuffer(config.readBoolEntry("DoubleBuffer", true)); m_targetapp = config.readEntry( "TargetApp", QString::null ); @@ -518,2 +530,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) m_doClipboard = config.readBoolEntry( "Clipboard", false); + m_doOutput = config.readBoolEntry( "OutputTgt", false); /* @@ -844,2 +857,14 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) addtoolbars(&config); + if (m_hidebars) + { +#if defined(USEQPE) + menubar->hide(); +#endif + if (fileBar != NULL) fileBar->hide(); + if (viewBar != NULL) viewBar->hide(); + if (navBar != NULL) navBar->hide(); + if (markBar != NULL) markBar->hide(); + mb->hide(); + } + @@ -974,2 +999,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) if (m_statusishidden) m_prog->hide(); + showEditTools(); if (!reader->m_lastfile.isEmpty()) @@ -1034,4 +1060,4 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) } - reader->bDoUpdates = true; - reader->update(); + // reader->bDoUpdates = true; + // reader->update(); config.setGroup("Version"); @@ -1040,3 +1066,3 @@ QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) char minor = config.readNumEntry("Minor", 0); - if (CheckVersion(major, bkmktype, minor)) + if (CheckVersion(major, bkmktype, minor, this)) { @@ -1067,3 +1093,3 @@ void QTReaderApp::addtoolbars(Config* config) { -#ifdef USEQPE +#if defined(USEQPE) if (fileBar != menubar) @@ -1095,3 +1121,3 @@ void QTReaderApp::addtoolbars(Config* config) { -#ifdef USEQPE +#if defined(USEQPE) if ((navBar == fileBar) && (fileBar == menubar)) @@ -1134,3 +1160,3 @@ void QTReaderApp::addtoolbars(Config* config) { -#ifdef USEQPE +#if defined(USEQPE) if ((viewBar == fileBar) && (fileBar == menubar)) @@ -1166,3 +1192,3 @@ void QTReaderApp::addtoolbars(Config* config) { -#ifdef USEQPE +#if defined(USEQPE) if ((markBar == fileBar) && (fileBar == menubar)) @@ -1235,3 +1261,3 @@ QToolBar* QTReaderApp::filebar() { -#ifdef USEQPE +#if defined(USEQPE) case cesSingle: @@ -1719,3 +1745,2 @@ void QTReaderApp::setrotated(bool sfs) // reader->repaint(0, reader->m_left_border, reader->width(), reader->height()-2*reader->m_border); - reader->repaint(); } @@ -1735,5 +1760,4 @@ void QTReaderApp::setrotated(bool sfs) // reader->repaint(reader->m_border, 0, reader->width()-2*reader->m_border, reader->height()); - reader->repaint(); } - // reader->update(); + reader->refresh(); } @@ -1930,3 +1954,3 @@ void QTReaderApp::fileOpen2() m_nBkmkAction = cOpenFile; - if (listbkmk(pOpenlist, "Browse")) usebrowser = false; + if (listbkmk(pOpenlist, "Browse", true)) usebrowser = false; } @@ -1953,3 +1977,3 @@ QString QTReaderApp::usefilebrowser() QString fn; -#ifdef OPIE +#if defined(OPIE) && defined(OPIEFILEDIALOG) QMap<QString, QStringList> mimeTypes; @@ -2005,2 +2029,3 @@ void QTReaderApp::showprefs() prefwin->repalm(reader->brepalm); + prefwin->UnderlineLink(reader->bunderlineLink); prefwin->kern(reader->bkern); @@ -2017,2 +2042,3 @@ void QTReaderApp::showprefs() prefwin->StripCR(reader->bstripcr); + prefwin->InlineTables(!reader->bNoInlineTables); prefwin->Dehyphen(reader->bdehyphen); @@ -2058,2 +2084,3 @@ void QTReaderApp::showprefs() prefwin->Continuous(reader->m_continuousDocument); + prefwin->DoubleBuffer(reader->m_doubleBuffered); @@ -2072,2 +2099,3 @@ void QTReaderApp::showprefs() prefwin->miscclipboard(m_doClipboard); + prefwin->miscoutput(m_doOutput); @@ -2087,2 +2115,4 @@ void QTReaderApp::showprefs() + prefwin->outcodec(reader->m_outputName); + if (prefwin->exec()) @@ -2091,2 +2121,4 @@ void QTReaderApp::showprefs() reader->brepalm = prefwin->repalm(); + reader->bunderlineLink = prefwin->UnderlineLink(); + reader->bkern = prefwin->kern(); @@ -2109,2 +2141,3 @@ void QTReaderApp::showprefs() reader->bstripcr = prefwin->StripCR(); + reader->bNoInlineTables = !prefwin->InlineTables(); reader->bdehyphen = prefwin->Dehyphen(); @@ -2151,2 +2184,3 @@ void QTReaderApp::showprefs() reader->setContinuous(prefwin->Continuous()); + reader->setDoubleBuffer(prefwin->DoubleBuffer()); @@ -2164,2 +2198,3 @@ void QTReaderApp::showprefs() m_doClipboard = prefwin->miscclipboard(); + m_doOutput = prefwin->miscoutput(); reader->m_swapmouse = prefwin->SwapMouse(); @@ -2185,2 +2220,11 @@ void QTReaderApp::showprefs() } + qDebug("OutCodec:%s", (const char*)prefwin->outcodec()); + if (reader->m_outputName != prefwin->outcodec()) + { + if (reader->m_output != NULL) + { + QMessageBox::warning(this, PROGNAME, "Change of output codec\nrequires a restart"); + } + reader->m_outputName = prefwin->outcodec(); + } delete prefwin; @@ -2292,8 +2336,32 @@ void QTReaderApp::showinfo() m_infoWin->setTextSize(ts); + if (fs > UINT_MAX/100) + { + unsigned long t1 = (ts+50)/100; + m_infoWin->setRatio(100-(fs + (t1 >> 1))/t1); + } + else + { m_infoWin->setRatio(100-(100*fs + (ts >> 1))/ts); + } m_infoWin->setLocation(pl); + if (pl > UINT_MAX/100) + { + unsigned long t1 = (ts+50)/100; + m_infoWin->setRead((pl + (t1 >> 1))/t1); + } + else + { m_infoWin->setRead((100*pl + (ts >> 1))/ts); + } m_infoWin->setDocSize(ds); m_infoWin->setDocLocation(dl); + if (dl > UINT_MAX/100) + { + unsigned long d1 = (ds+50)/100; + m_infoWin->setDocRead((dl + (d1 >> 1))/d1); + } + else + { m_infoWin->setDocRead((100*dl + (ds >> 1))/ds); + } m_infoWin->setZoom(reader->m_fontControl.currentsize()*10); @@ -2744,3 +2812,3 @@ void QTReaderApp::search() -void QTReaderApp::openFile( const QString &f ) +void QTReaderApp::openFile( const QString &f, unsigned int loc ) { @@ -2767,3 +2835,3 @@ void QTReaderApp::openFile( const QString &f ) clear(); - reader->setText(fm.baseName(), fm.absFilePath()); + reader->setText(fm.baseName(), fm.absFilePath(), loc); m_loadedconfig = readconfig(APPDIR "/configs", reader->m_string, false); @@ -2808,3 +2876,3 @@ void QTReaderApp::handlekey(QKeyEvent* e) case Key_Escape: -// qDebug("escape event"); + qDebug("escape event"); if (m_disableesckey) @@ -2893,16 +2961,13 @@ void QTReaderApp::handlekey(QKeyEvent* e) -#ifdef NEWFULLSCREEN -void QTReaderApp::enableFullscreen() -{ - setFixedSize(qApp->desktop()->size()); - showNormal(); - reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); - showFullScreen(); -} - -void QTReaderApp::resizeEvent(QResizeEvent *) +#if defined(USEQPE) && defined(USENEWFULLSCREEN) +void QTReaderApp::focusInEvent(QFocusEvent *) { - if (m_fullscreen && (size() != qApp->desktop()->size())) + if (m_usenewfullscreen && m_fullscreen && (editorStack->visibleWidget() == reader)) { - enableFullscreen(); + m_usenewfullscreen = false; + reader->bDoUpdates = false; + showEditTools(); + reader->bDoUpdates = true; + reader->update(); + m_usenewfullscreen = true; } @@ -2910,8 +2975,12 @@ void QTReaderApp::resizeEvent(QResizeEvent *) -void QTReaderApp::focusInEvent(QFocusEvent*) +void QTReaderApp::resizeEvent(QResizeEvent *) { - if (m_fullscreen) + if (m_usenewfullscreen && m_fullscreen && (editorStack->visibleWidget() == reader)) { - enableFullscreen(); - raise(); + m_usenewfullscreen = false; + reader->bDoUpdates = false; + showEditTools(); + reader->bDoUpdates = true; + reader->update(); + m_usenewfullscreen = true; } @@ -2926,3 +2995,3 @@ void QTReaderApp::showEditTools() { -#ifdef USEQPE +#if defined(USEQPE) if (menubar != NULL) menubar->hide(); @@ -2946,7 +3015,3 @@ void QTReaderApp::showEditTools() // showNormal(); -#ifdef NEWFULLSCREEN - enableFullscreen(); -#else showFullScreen(); -#endif } @@ -2972,3 +3037,3 @@ void QTReaderApp::showEditTools() { -#ifdef USEQPE +#if defined(USEQPE) menubar->show(); @@ -3006,3 +3071,3 @@ void QTReaderApp::showEditTools() // qDebug("sm"); -#ifdef USEQPE +#if defined(USEQPE) && !defined(SIMPAD) showMaximized(); @@ -3019,3 +3084,3 @@ void QTReaderApp::showEditTools() // qDebug("ref"); - reader->refresh(true); + //reader->refresh(true); // qDebug("done"); @@ -3176,3 +3241,3 @@ void QTReaderApp::do_delmark() -bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) +bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab, bool presel) { @@ -3184,2 +3249,3 @@ bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) int cnt = 0; + int slt = -1; if (plist != NULL) @@ -3188,9 +3254,17 @@ bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) { + if (presel) + { + Bkmk* p = i.pContent(); + if (toQString(CFiledata(p->anno()).name()) == reader->m_lastfile) + { + slt = cnt; + } + } #ifdef _UNICODE // qDebug("Item:%s", (const char*)toQString(i->name())); - bkmkselector->insertItem(toQString(i->name())); + bkmkselector->insertItem(toQString(i->name()), cnt++); #else - bkmkselector->insertItem(i->name()); + bkmkselector->insertItem(i->name(), cnt++); #endif - cnt++; + } @@ -3201,2 +3275,3 @@ bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) editorStack->raiseWidget( bkmkselector ); + if (slt != -1) bkmkselector->setCurrentItem(slt); return true; @@ -3240,5 +3315,4 @@ bool QTReaderApp::openfrombkmk(Bkmk* bk) // qDebug("Opening"); - openFile(fn); struct stat fnstat; - stat((const char *)reader->m_lastfile, &fnstat); + stat((const char *)fn, &fnstat); @@ -3250,2 +3324,4 @@ bool QTReaderApp::openfrombkmk(Bkmk* bk) bk->value(0); + reader->m_lastposn = 0; + openFile(fn); } @@ -3255,2 +3331,3 @@ bool QTReaderApp::openfrombkmk(Bkmk* bk) unsigned char* svdata = bk->filedata(); + openFile(fn, bk->value()); reader->putSaveData(svdata, svlen); @@ -3263,3 +3340,2 @@ bool QTReaderApp::openfrombkmk(Bkmk* bk) // showEditTools(); - reader->locate(bk->value()); } @@ -3368,3 +3444,3 @@ void QTReaderApp::gotobkmk(int ind) bool allok = false; -#ifdef OPIE +#if defined(OPIE) && defined(OPIEFILEDIALOG) QString outfile = OFileDialog::getSaveFileName(OFileSelector::EXTENDED_ALL, QString::null, QString::null, MimeTypes(), 0, "OpieReader"); @@ -3705,5 +3781,6 @@ void QTReaderApp::do_autogen(const QString& regText) int i = 0; + unsigned int llcn = reader->locate(); while (i >= 0) { - unsigned int lcn = reader->locate(); + unsigned int lcn = llcn; int pc = (100*lcn)/ts; @@ -3724,2 +3801,10 @@ void QTReaderApp::do_autogen(const QString& regText) pBkmklist->push_back(Bkmk(buff.data(), NULL, lcn)); + /* + llcn = reader->locate(); + if ((i == 0) && (llcn+1 < ts)) + { + reader->jumpto(++llcn); + i = 1; + } + */ } @@ -4034,2 +4119,6 @@ void QTReaderApp::OnWordSelected(const QString& wrd, size_t posn, size_t posn2, + if (m_doOutput && reader->checkoutput()) + { + reader->doOutput(wrd); + } if (m_doClipboard) @@ -4118,3 +4207,3 @@ void QTReaderApp::doAction(QKeyEvent* e) { -#ifdef USEQPE +#if defined(USEQPE) menubar->hide(); @@ -4129,3 +4218,3 @@ void QTReaderApp::doAction(QKeyEvent* e) { -#ifdef USEQPE +#if defined(USEQPE) menubar->show(); @@ -4342,2 +4431,3 @@ void QTReaderApp::do_saveconfig(const QString& _txt, bool full) config.writeEntry( "StripCr", reader->bstripcr ); + config.writeEntry( "NoInlineTables", reader->bNoInlineTables ); config.writeEntry( "AutoFmt", reader->bautofmt ); @@ -4367,2 +4457,3 @@ void QTReaderApp::do_saveconfig(const QString& _txt, bool full) config.writeEntry( "LastPosn", (int)(reader->pagelocate()) ); + config.writeEntry( "OutputCodec", reader->m_outputName); } @@ -4398,2 +4489,3 @@ void QTReaderApp::do_saveconfig(const QString& _txt, bool full) config.writeEntry( "Clipboard", m_doClipboard); + config.writeEntry( "OutputTgt", m_doOutput); /* @@ -4412,3 +4504,5 @@ void QTReaderApp::do_saveconfig(const QString& _txt, bool full) config.writeEntry( "Repalm", reader->brepalm ); + config.writeEntry( "UnderlineLink", reader->bunderlineLink ); config.writeEntry( "HideScrollBar", m_scrollishidden ); + config.writeEntry( "HideToolBar", m_hidebars ); config.writeEntry( "Kern", reader->bkern ); @@ -4418,2 +4512,3 @@ void QTReaderApp::do_saveconfig(const QString& _txt, bool full) config.writeEntry( "Continuous", reader->m_continuousDocument ); + config.writeEntry( "DoubleBuffer", reader->m_doubleBuffered); config.writeEntry( "FullJust", reader->bfulljust ); @@ -4521,2 +4616,3 @@ bool QTReaderApp::readconfig(const QString& dirname, const QString& _txt, bool f reader->bstripcr = config.readBoolEntry( "StripCr", reader->bstripcr ); + reader->bNoInlineTables = config.readBoolEntry( "NoInlineTables", reader->bNoInlineTables ); reader->bfulljust = config.readBoolEntry( "FullJust", reader->bfulljust ); @@ -4576,3 +4672,5 @@ bool QTReaderApp::readconfig(const QString& dirname, const QString& _txt, bool f m_scrollishidden = config.readBoolEntry( "HideScrollBar", m_scrollishidden ); + m_hidebars = config.readBoolEntry( "HideToolBar", m_hidebars ); reader->brepalm = config.readBoolEntry( "Repalm", reader->brepalm ); + reader->bunderlineLink = config.readBoolEntry( "UnderlineLink", reader->bunderlineLink ); reader->bkern = config.readBoolEntry( "Kern", reader->bkern ); @@ -4581,2 +4679,3 @@ bool QTReaderApp::readconfig(const QString& dirname, const QString& _txt, bool f reader->setContinuous(config.readBoolEntry( "Continuous", reader->m_continuousDocument )); + reader->setDoubleBuffer(config.readBoolEntry("DoubleBuffer", reader->m_doubleBuffered)); m_targetapp = config.readEntry( "TargetApp", m_targetapp ); @@ -4591,2 +4690,3 @@ bool QTReaderApp::readconfig(const QString& dirname, const QString& _txt, bool f m_doClipboard = config.readBoolEntry( "Clipboard", m_doClipboard); + m_doOutput = config.readBoolEntry( "OutputTgt", m_doOutput); #ifdef USEQPE @@ -4598,2 +4698,4 @@ bool QTReaderApp::readconfig(const QString& dirname, const QString& _txt, bool f + reader->m_outputName = config.readEntry( "OutputCodec", reader->m_outputName); + m_touch_action->setOn(m_twoTouch); @@ -4639,4 +4741,3 @@ bool QTReaderApp::PopulateConfig(const char* tgtdir, bool usedirs) - bkmkselector->insertItem(fi->fileName()); - cnt++; + bkmkselector->insertItem(fi->fileName(), cnt++); @@ -4665,4 +4766,3 @@ bool QTReaderApp::PopulateConfig(const char* tgtdir, bool usedirs) { - bkmkselector->insertItem(de->d_name); - cnt++; + bkmkselector->insertItem(de->d_name, cnt++); } @@ -4737,2 +4837,4 @@ void QTReaderApp::OnURLSelected(const QString& href, const size_t tgt) } + QString msg = "External URL\n" + href; + QMessageBox::information(this, PROGNAME, msg); #else @@ -4903,3 +5005,3 @@ void QTReaderApp::forceopen(const QString& filename) */ - if (!filename.isEmpty()) + if (!filename.isEmpty() && QFileInfo(filename).exists()) { @@ -4920,2 +5022,6 @@ void QTReaderApp::forceopen(const QString& filename) } + else + { + OnURLSelected(filename, 0); + } } |