summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/BuffDoc.h
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-reader/BuffDoc.h') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-reader/BuffDoc.h58
1 files changed, 40 insertions, 18 deletions
diff --git a/noncore/apps/opie-reader/BuffDoc.h b/noncore/apps/opie-reader/BuffDoc.h
index 61531c0..a7dd7bf 100644
--- a/noncore/apps/opie-reader/BuffDoc.h
+++ b/noncore/apps/opie-reader/BuffDoc.h
@@ -2,12 +2,9 @@
#define __BuffDoc_h
#include "useqpe.h"
-#include "ZText.h"
-#include "Aportis.h"
-#include "ztxt.h"
-#include "ppm_expander.h"
#include "CDrawBuffer.h"
#include "CFilter.h"
+#include "CExpander.h"
#include <qfontmetrics.h>
#include <qmessagebox.h>
@@ -17,9 +14,19 @@ class BuffDoc
CSizeBuffer lastsizes, allsizes;
size_t laststartline;
bool lastispara;
- CExpander* exp;
+ CExpander_Interface* exp;
CFilterChain* filt;
+ int m_hyphenthreshold;
+ // bool m_customhyphen;
public:
+ QString about();
+ bool findanchor(const QString& nm)
+ {
+ return filt->findanchor(nm);
+ }
+ // void setCustomHyphen(bool _v) { m_customhyphen = _v; }
+ // bool getCustomHyphen() { return m_customhyphen; }
+ void setHyphenThreshold(int _v) { m_hyphenthreshold = _v; }
void setSaveData(unsigned char*& data, unsigned short& len, unsigned char* src, unsigned short srclen)
{
if (exp == NULL)
@@ -56,7 +63,7 @@ class BuffDoc
exp = NULL;
filt = NULL;
lastword.empty();
- // odebug << "Buffdoc created" << oendl;
+// // qDebug("Buffdoc created");
}
bool empty() { return (exp == NULL); }
void setfilter(CFilterChain* _f)
@@ -75,15 +82,16 @@ class BuffDoc
CStyle sty;
if (exp != NULL)
{
- filt->getch(ch, sty);
+ unsigned long dummy;
+ filt->getch(ch, sty, dummy);
}
return ch;
}
- void getch(tchar& ch, CStyle& sty)
+ void getch(tchar& ch, CStyle& sty, unsigned long& pos)
{
if (exp != NULL)
{
- filt->getch(ch, sty);
+ filt->getch(ch, sty, pos);
}
else
ch = UEOF;
@@ -96,12 +104,22 @@ class BuffDoc
unsigned int explocate() { return (exp == NULL) ? 0 : exp->locate(); }
void setContinuous(bool _b) { if (exp != NULL) exp->setContinuous(_b); }
MarkupType PreferredMarkup() { return (exp == NULL) ? cTEXT : exp->PreferredMarkup(); }
- linkType hyperlink(unsigned int n, QString& wrd);
+ linkType hyperlink(unsigned int n, unsigned int noff, QString& wrd, QString& nm);
size_t getHome() { return ((exp != NULL) ? exp->getHome() : 0); }
void locate(unsigned int n);
- bool getline(CDrawBuffer* buff, int w, unsigned char _border);
- bool getline(CDrawBuffer* buff, int w, int cw, unsigned char _border);
- void sizes(unsigned long& fs, unsigned long& ts) { exp->sizes(fs,ts); }
+ bool getline(CDrawBuffer* buff, int w, unsigned short _lborder, unsigned short _rborder, bool hyphenate, int availht);
+ bool getline(CDrawBuffer* buff, int w, int cw, unsigned short _lborder, unsigned short _rborder, int availht);
+ void sizes(unsigned long& fs, unsigned long& ts)
+ {
+ if (exp != NULL)
+ {
+ exp->sizes(fs,ts);
+ }
+ else
+ {
+ fs = ts = 0;
+ }
+ }
int getpara(CBuffer& buff)
{
tchar ch;
@@ -112,11 +130,15 @@ class BuffDoc
laststartline = exp->locate();
return i;
}
- void saveposn(size_t posn) { exp->saveposn(posn); }
- void writeposn(size_t posn) { exp->writeposn(posn); }
- bool forward(size_t& loc) { return exp->forward(loc); }
- bool back(size_t& loc) { return exp->back(loc); }
- bool hasnavigation() { return exp->hasnavigation(); }
+ void saveposn(const QString& f, size_t posn) { filt->saveposn(f, posn); }
+ void writeposn(const QString& f, size_t posn) { filt->writeposn(f, posn); }
+ linkType forward(QString& f, size_t& loc) { return filt->forward(f, loc); }
+ linkType back(QString& f, size_t& loc) { return filt->back(f, loc); }
+ bool hasnavigation() { return filt->hasnavigation(); }
+ bool getFile(QString href)
+ {
+ return (exp == NULL) ? false : exp->getFile(href);
+ }
};
#endif