summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/CExpander.h
Unidiff
Diffstat (limited to 'noncore/apps/opie-reader/CExpander.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-reader/CExpander.h140
1 files changed, 70 insertions, 70 deletions
diff --git a/noncore/apps/opie-reader/CExpander.h b/noncore/apps/opie-reader/CExpander.h
index 7b21d3e..9fae245 100644
--- a/noncore/apps/opie-reader/CExpander.h
+++ b/noncore/apps/opie-reader/CExpander.h
@@ -37,115 +37,115 @@ class CExpander
37 size_t suspos; 37 size_t suspos;
38 time_t sustime; 38 time_t sustime;
39 int m_scrWidth; 39 int m_scrWidth;
40 unsigned long m_currentstart, m_currentend; 40 unsigned long m_currentstart, m_currentend;
41 public: 41 public:
42#ifdef USEQPE 42#ifdef USEQPE
43 virtual void suspend() = 0; 43 virtual void suspend() = 0;
44 virtual void unsuspend() = 0; 44 virtual void unsuspend() = 0;
45#endif 45#endif
46 size_t getHome() { return m_homepos; } 46 size_t getHome() { return m_homepos; }
47 CExpander() : m_homepos(0), fname(NULL), m_scrWidth(240), m_currentstart(1), m_currentend(0) {}; 47 CExpander() : m_homepos(0), fname(NULL), m_scrWidth(240), m_currentstart(1), m_currentend(0) {};
48 virtual ~CExpander() { if (fname != NULL) delete [] fname; }; 48 virtual ~CExpander() { if (fname != NULL) delete [] fname; };
49 int openfile(const char *src) 49 int openfile(const char *src)
50 { 50 {
51 bSuspended = false; 51 bSuspended = false;
52 fname = strdup(src); 52 fname = strdup(src);
53 return OpenFile(src); 53 return OpenFile(src);
54 } 54 }
55 virtual int OpenFile(const char *src) = 0; 55 virtual int OpenFile(const char *src) = 0;
56 virtual unsigned int locate() = 0; 56 virtual unsigned int locate() = 0;
57 virtual void locate(unsigned int n) = 0; 57 virtual void locate(unsigned int n) = 0;
58 virtual bool hasrandomaccess() = 0; 58 virtual bool hasrandomaccess() = 0;
59 virtual void sizes(unsigned long& file, unsigned long& text) = 0; 59 virtual void sizes(unsigned long& file, unsigned long& text) = 0;
60 virtual CList<Bkmk>* getbkmklist() { return NULL; } 60 virtual CList<Bkmk>* getbkmklist() { return NULL; }
61 virtual void getch(tchar& ch, CStyle& sty) 61 virtual void getch(tchar& ch, CStyle& sty)
62 { 62 {
63 int ich = getch(); 63 int ich = getch();
64 ch = (ich == EOF) ? UEOF : ich; 64 ch = (ich == EOF) ? UEOF : ich;
65 sty.unset(); 65 sty.unset();
66 } 66 }
67 virtual int getch() = 0; 67 virtual int getch() = 0;
68 virtual linkType hyperlink(unsigned int n, QString& wrd) 68 virtual linkType hyperlink(unsigned int n, QString& wrd)
69 { 69 {
70 locate(n); 70 locate(n);
71 return eLink; 71 return eLink;
72 } 72 }
73 virtual MarkupType PreferredMarkup() = 0; 73 virtual MarkupType PreferredMarkup() = 0;
74 virtual void saveposn(size_t posn) {} 74 virtual void saveposn(size_t posn) {}
75 virtual void writeposn(size_t posn) {} 75 virtual void writeposn(size_t posn) {}
76 virtual bool forward(size_t& loc) { return false; } 76 virtual bool forward(size_t& loc) { return false; }
77 virtual bool back(size_t& loc) { return false; } 77 virtual bool back(size_t& loc) { return false; }
78 virtual bool hasnavigation() { return false; } 78 virtual bool hasnavigation() { return false; }
79 unsigned long startSection() 79 unsigned long startSection()
80 { 80 {
81 unsigned long current = locate(); 81 unsigned long current = locate();
82 if (m_currentstart > current || current > m_currentend) 82 if (m_currentstart > current || current > m_currentend)
83 { 83 {
84 start2endSection(); 84 start2endSection();
85 } 85 }
86 return m_currentstart; 86 return m_currentstart;
87 } 87 }
88 unsigned long endSection() 88 unsigned long endSection()
89 { 89 {
90 unsigned long current = locate(); 90 unsigned long current = locate();
91 if (m_currentstart > current || current > m_currentend) 91 if (m_currentstart > current || current > m_currentend)
92 { 92 {
93 start2endSection(); 93 start2endSection();
94 } 94 }
95 return m_currentend; 95 return m_currentend;
96 } 96 }
97 virtual void start2endSection() 97 virtual void start2endSection()
98 { 98 {
99 m_currentstart = 0; 99 m_currentstart = 0;
100 unsigned long file; 100 unsigned long file;
101 sizes(file, m_currentend); 101 sizes(file, m_currentend);
102 } 102 }
103 virtual QImage* getPicture(unsigned long tgt) { return NULL; } 103 virtual QImage* getPicture(unsigned long tgt) { return NULL; }
104 void setContinuous(bool _b) { m_continuous = _b; } 104 void setContinuous(bool _b) { m_continuous = _b; }
105#ifdef USEQPE 105#ifdef USEQPE
106 virtual void suspend(FILE*& fin) 106 virtual void suspend(FILE*& fin)
107 { 107 {
108 bSuspended = true; 108 bSuspended = true;
109 suspos = ftell(fin); 109 suspos = ftell(fin);
110 fclose(fin); 110 fclose(fin);
111 fin = NULL; 111 fin = NULL;
112 sustime = time(NULL); 112 sustime = time(NULL);
113 } 113 }
114 virtual void unsuspend(FILE*& fin) 114 virtual void unsuspend(FILE*& fin)
115 { 115 {
116 if (bSuspended) 116 if (bSuspended)
117 { 117 {
118 bSuspended = false; 118 bSuspended = false;
119 int delay = time(NULL) - sustime; 119 int delay = time(NULL) - sustime;
120 if (delay < 10) sleep(10-delay); 120 if (delay < 10) sleep(10-delay);
121 fin = fopen(fname, "rb"); 121 fin = fopen(fname, "rb");
122 for (int i = 0; fin == NULL && i < 5; i++) 122 for (int i = 0; fin == NULL && i < 5; i++)
123 { 123 {
124 sleep(5); 124 sleep(5);
125 fin = fopen(fname, "rb"); 125 fin = fopen(fname, "rb");
126 } 126 }
127 if (fin == NULL) 127 if (fin == NULL)
128 { 128 {
129 QMessageBox::warning(NULL, PROGNAME, "Couldn't reopen file"); 129 QMessageBox::warning(NULL, PROGNAME, "Couldn't reopen file");
130 exit(0); 130 exit(0);
131 } 131 }
132 suspos = fseek(fin, suspos, SEEK_SET); 132 suspos = fseek(fin, suspos, SEEK_SET);
133 } 133 }
134 } 134 }
135#endif 135#endif
136 virtual void setSaveData(unsigned char*& data, unsigned short& len, unsigned char* src, unsigned short srclen) 136 virtual void setSaveData(unsigned char*& data, unsigned short& len, unsigned char* src, unsigned short srclen)
137 { 137 {
138 len = srclen; 138 len = srclen;
139 data = new unsigned char[len]; 139 data = new unsigned char[len];
140 memcpy(data, src, len); 140 memcpy(data, src, len);
141 } 141 }
142 virtual void putSaveData(unsigned char*& src, unsigned short& srclen) 142 virtual void putSaveData(unsigned char*& src, unsigned short& srclen)
143 { 143 {
144 if (srclen != 0) 144 if (srclen != 0)
145 { 145 {
146 qDebug("Don't know what to do with non-zero save data"); 146 qDebug("Don't know what to do with non-zero save data");
147 } 147 }
148 } 148 }
149 void setwidth(int w) { m_scrWidth = w; } 149 void setwidth(int w) { m_scrWidth = w; }
150}; 150};
151#endif 151#endif