source: diffs/djview4_4.8.diff@ 146

Last change on this file since 146 was 145, checked in by Silvan Scherrer, 12 years ago

Qtapps: added more diffs

File size: 16.2 KB
RevLine 
[145]1diff -Naur vendor\current/readme.os2 trunk/readme.os2
2--- vendor\current/readme.os2 1970-01-01 01:00:00.000000000 +0100
3+++ trunk/readme.os2 2013-05-27 15:35:12.000000000 +0200
4@@ -0,0 +1,170 @@
5+DjView4 4.8 README 25.03.2013
6+
7+
8+
9+0. CONTENTS OF THIS FILE
10+========================
11+
12+1. INTRODUCTION
13+
14+2. REQUIREMENTS
15+
16+3. INSTALLATION
17+
18+4. LICENSE, COPYRIGHT, DISCLAIMER
19+
20+5. CONTACT
21+
22+6. CREDITS
23+
24+7. SUPPORT AND DONATIONS
25+
26+8. HISTORY
27+
28+
29+1. INTRODUCTION
30+===============
31+
32+Welcome to DjView4 4.8 port for OS/2 and eComStation.
33+
34+
35+
36+2. REQUIREMENTS
37+===============
38+
39+* klibc 0.6.5 or later
40+
41+ ftp://ftp.netlabs.org/pub/gcc/libc-0_6_5-csd5.wpi
42+
43+* djvulibre
44+
45+ ftp://ftp.netlabs.org/pub/unixos2/djvulibre-3_5_25.zip
46+
47+* jpeg
48+
49+ ftp://ftp.netlabs.org/pub/unixos2/libjpeg.zip
50+
51+* Qt4 dll
52+
53+ see http://svn.netlabs.org/qt4 for more information whats needed and where to get the latest
54+
55+* Cups
56+
57+ see http://svn.netlabs.org/ecups for more information
58+
59+* pthread
60+
61+ http://rpm.netlabs.org/release/00/zip/pthread-20120924-11_oc00.zip
62+
63+
64+3. INSTALLATION
65+===============
66+
67+To install DjView4, do the following:
68+
69+klibc
70+-----
71+
72+ 1. Download klibc 0.6.3 csd3 or later.
73+ 2. Install the package by double-clicking on the WPI file.
74+
75+
76+Qt4 dll
77+-------
78+
79+ 1. Download the zip or rpm and follow the instructions
80+
81+
82+Cups
83+----
84+
85+ 1. Download the latest cups version which is 1.4.8 or better
86+ 2. Install it and be sure to put the cups.dll somewhere to your path
87+
88+
89+DjView4
90+-------
91+
92+ 1. Create a directory for DjView4.
93+ 2. Extract the DjView4 package to the new directory.
94+ 3. Create a WPS object for djview.exe.
95+ 4. Start djview
96+ 5. Enjoy the app :)
97+
98+
99+
100+4. LICENSE, COPYRIGHT, DISCLAIMER
101+=================================
102+
103+see COPYRIGHT and COPYING
104+
105+This program is distributed in the hope that it will be useful,
106+but WITHOUT ANY WARRANTY; without even the implied warranty of
107+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
108+
109+
110+
111+5. CONTACT
112+==========
113+
114+if you find a bug, then add a ticket to the trac at http://svn.netlabs.org/qtapps
115+
116+
117+
118+6. CREDITS
119+==========
120+
121+The port was done by:
122+
123+Silvan Scherrer aka _diver
124+
125+Thanks go to:
126+
127+ * Dmitry A. Kuminov
128+ * Oliver Cremer
129+
130+They either helped me when I had some nasty questions or did some testing for
131+me.
132+
133+
134+7. SUPPORT AND DONATIONS
135+========================
136+
137+DjView4 is based on volunteer work. If you would like to support further
138+development, you can do so in one of the following ways:
139+
140+
141+ * Donate to the Qt4 project: see qt.netlabs.org for more information
142+
143+ * Contribute to the project: Besides actual development, this also includes
144+ maintaining the documentation and the project web site as well as help
145+ for users.
146+
147+
148+8. HISTORY
149+==========
150+
151+2013-03-25
152+
153+ * updated to djviewlibre 3.5.25 code
154+
155+2011-09-27
156+
157+ * updated to 4.8 code level of djview
158+ * updated to djviewlibre 3.5.24
159+ * updated to Qt 4.7.3
160+ * cups >= 1.4.8 required
161+
162+2010-10-13
163+
164+ * added printing support
165+
166+2010-09-02
167+
168+ * updated to 4.6 code level of djview
169+ * updated to 3.5.23 code level of djvulibre
170+
171+2010-09-01
172+
173+ * initial port
174+
175diff -Naur vendor\current/src/djview_os2.rc trunk/src/djview_os2.rc
176--- vendor\current/src/djview_os2.rc 1970-01-01 01:00:00.000000000 +0100
177+++ trunk/src/djview_os2.rc 2010-09-02 16:19:00.000000000 +0200
178@@ -0,0 +1 @@
179+ICON 1 DISCARDABLE "images/DjVuApp_os2.ico"
180\ No newline at end of file
181diff -Naur vendor\current/src/djview.pro trunk/src/djview.pro
182--- vendor\current/src/djview.pro 2011-08-17 16:24:20.000000000 +0200
183+++ trunk/src/djview.pro 2011-09-30 11:58:02.000000000 +0200
184@@ -33,6 +33,10 @@
185 # for use under unix with pkgconfig
186 CONFIG += link_pkgconfig
187 PKGCONFIG += ddjvuapi
188+} else:os2 {
189+ INCLUDEPATH += . e:/trees/djvulibre/trunk d:/cups/include
190+ LIBS += -ldjvulibre -lpthread -ljpeg -Le:/trees/djvulibre/trunk/libdjvu/.libs -Ld:/cups/lib -llibcups
191+ RC_FILE = djview_os2.rc
192 } else {
193 # for use on other platforms
194 # LIBS += -ldjvulibre
195@@ -113,3 +117,13 @@
196 TRANSLATIONS += djview_de.ts
197 TRANSLATIONS += djview_cs.ts
198 TRANSLATIONS += djview_ru.ts
199+
200+# -- needed that shadowbuild works nicely
201+qtPrepareTool(LRELEASE, lrelease)
202+updateqm.input = TRANSLATIONS
203+updateqm.output = ${QMAKE_FILE_BASE}.qm
204+updateqm.variable_out = PRE_TARGETDEPS
205+updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
206+updateqm.name = LRELEASE ${QMAKE_FILE_IN}
207+updateqm.CONFIG += no_link
208+QMAKE_EXTRA_COMPILERS += updateqm
209diff -Naur vendor\current/src/images/djvuapp_os2.ico trunk/src/images/djvuapp_os2.ico
210--- vendor\current/src/images/djvuapp_os2.ico 1970-01-01 01:00:00.000000000 +0100
211+++ trunk/src/images/djvuapp_os2.ico 2011-08-31 19:06:40.000000000 +0200
212@@ -0,0 +1,5 @@
213+BA(HCIØ
2140`ÿÿÿCIØ
215
21600ÿÿÿå®yYU$¥oÈðõɓf0BŽpµ²ÔÂ@x£jikÀ¢‘èøÅ;Þ|;ȞV0s3z9Çÿeƒ“€¹ŽkŠÍ"~ÁÛǵMVqNšPBi‹ãÿݳÛÙÙÛæ›Èþ·À²²«‰xynúà­ôóãU“Ÿ…
217C9Y(‡v1Š–×¥už^Hƒš»ÎYX[SvœÒÿÒh0bŒnn¡¡¡uQIÊÊÊöâÌd±å‘ToŸbaÒ² o,Œz;R9Žîß‘ž\Msáêð˜~~;„·bUsbÔÿáÿ᥎ŽÅÞÎæÒ€üùÓåݹšd—0Ì`2›'€ãSATo`†vG­·€¢áó±€@fúìÂ^iz꿅
218Bo’ÚÐËtk{žu_t±Ù~ižîÿîÄñÇÉœŒj.‰ôÖŒ„„„U7‚Üî௭±èääŠqŒøÖ sKɂš›gš¥}nýýæ_,kòïÒT%™^B§µ¿k-±ìâ¢à—šŸ‡‡ñ矝bpâáÈõôóõͧt¹æ+|¹q/˜x4ˆåÝÓ±™‹v<»“X}v7`ÛןãùÍÓÿÁd-z.~ˆmª_Lx®š™jaxn2m€kxŒ›±§ÎŒÖÑÑb©×~=F ‘ÎÌßÙÞÿÉáʛgR…
219Z3©©©xvw•]ŠîìÇè̶æðÛ»»»íÚ°ve6•ԏQbîíìòä׋KJ•ã_&®žuš]UgâÒ¬q5Ye/¥Ÿ`VÑÆÅÙóÓz7kÝâšúçžë˕úúÜw3ÄQ-Žîú×ųªýýñb8“c.VñÍúñÉfT}%y¹Ü»ˆñâÀÓÄ·ËñÏŠI?pBŠ}~}õÛŠ___rrrQ=r³³³`)•+„ÃéäÔ}C¹g0LåÒÆmP‘tK€ñО¶ œìౘl³®‘†]Emƶµ‘ttÜí¥g)¶èÏœñί÷áµ¥†|æõœãÞÛìݹùôÕ÷Û«hcoˆF0U&žãë³·œ‘[?€ã×µäÌ­ûûúá×À£€vWCt÷ЙðǛk³á–t¯ˆˆ‰÷öíBA(CIØ
220 @ÿÿÿCIØ
221 ÿÿÿ‘é¬|bßÿW,ô˒Kƒ¬ª¢žE²íÌÞÑ|a€ýòÈq¬ÏŒ‘œÅáÊ«šàéªGžÌ}:xâüâ„m£Ëœ»³•‡sH™˜†°ŒÚîîØÆzœé4‡ÃbI€Mf¶ùÞ©žŸŸµÛ•gyãõÃ
222—åäàßûïâäÆŠãŸ‰n2·€£µµµ
223+†×ÈÄÐêîòƒ„ƒÙПyb–ÓüӂNxˆlôæ»EÄøéÚ¡ÙÒҏ€ž~A‰Êž«éζïèÌŠ³œœŸ‘ùõòZ(qgAq0}ûúת«ªâǕ™€ ’¶¹zäÝŽåõÕóÍ¡BˆÇŒ¬ªÕŬÑÅÅh£ÉîéçrX
224áŽ‚‰}nƒú؞ãèŖËëe/†Ä¶ŽÁÂÁðâØÞëØìí¶ßýˎhƒóÕ¶jO•åÕ«ÜÜÛÞÞ õòÓìúÇxk˜éΠûù簞›sT™ë˱šŸëÝÏüå³àÕÉÀ«žñâ§ðïïåçèe,|ëÚ¯»Œ»þýôíòÁãòãY€ëêÜÑÒÑÓ»¬ÅãÌËËËüëŸóß³õ×§Ã±š€€§õêÃçᜓ•úúúéç«gJèõº‰{†”Œž°°°™˜ž±Ž}À¥˜§š³o0‡ýùÏ÷М„…
225‡g6Ž××ןÈúûᒄ«ÚÈŸm8”eG†òãÂâÛÚïÓ¡ŠzŸ›‹²ÔÊÊIžòàúÔöõ×|<„lA‘ôÝ»ñã¹íÞÈìÖš[+{_3…
2260ÂDºîÜǪš€­íɟ ‹Þ÷ìÎøðëze›ØúÍçΪííìæßÔèÛÁä͝ÆÊÍwbèßžûæ·éíÀŠÚóóòêääàßßäڻƹžŸª€Á±¯qP”òï草“åÔ§äÕ²ÛÑËø÷äïËŠIu‰i‰úíÄÌÂÂ÷÷ö’Ž™üõÎäã㍂™Æ¬žqD•yfõԞ˹¯éééúâ±úÙ¢øÔ¡ìϜ”€®³ ŸüüøúíßèôăR{’h}ôîÇðíË­¥œ£–¶Äš˜iC‹FÂõù÷Ò®~füüñø÷êùúÛéÜÖöЀBA(CIØ
227 ÿÿÿCIX
228ÿÿÿ
229Þž’õҜËîxH‡@·óÊÉÎ=ŽÈâüÓÇ«˜hh›­ŸœôåÀÞÙåu‘öíæ[¹ç°ŸÍ‚_•!ƒÑáÔË6ÛÖ»£Ê»º”wšÓçÖ ‰²·±·éç®ìåÓ~o‰õ÷Õ°ŠªûÞš×ǹֳ”îÔ«”…
230“ÇÔÚôõôçìêç̛êïœÆŒÑõÚžº¯ÄR¿îÄÀÅÖÎÌûç¶äÞÙ©ž¥æóÍ~WŽøøçíâ·êõ×ãäâÒÈÂëáÂúýôõà°ùóÍïïïúìÀýõî~ÛëÕßÙÔª™žæèŒA²íðèÆiŒñãÎî̙ÇÂÍìÛ¶ßÞÞÜÐÈîçŸöã·ûüûêèæôÕ­êПù÷÷÷ÚªöúÚÉÀÔÔ¹ßÕÐíêïðÞ°æààÒÇ·ßß㮢¹TŒë“|’öòññóñóîãמ ÓʺõîêïÞ¶~kŠüùøùû÷îäÐáßÛíÞ²ééé=·ôääåßÙÑßÔÍýþþ÷øÙùÙ©õäµìãÃ~i‹ß×ÒÉŸÓÒÇÀ~mŠßßáêèèòòñõӝäåäîâžþþþøóÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿðÿÿÿøÿÿ„à€€€€€€ÀÀÀÀÀÀàààààððððððøøøøø?øÿü‡ÿÿüÿÿÿÿÿÿÿÿÿ˜C-ŽS˜E&a*E
231€“*E
232€*E
233ÅY*E
234Å?9{Lm/*E
235?³9’i+®ý^ŠQ
236+*E
237Ë«š8† LmÞލ^ŠQîî
238
239ПÍd3ÒÊOE
240€ÖRÚٜÄD¯.....ÏÏ
241ҕ€•ÊÊ55•
242©©©]OE
243Œ4UÌÐ3ggҞžž333ÒÊ5
244©©©©Ò©©©©©©©©©©–=E
245Ôkï<…
246Ÿ5©©©©©©©©©©©©©©h!SBGS!h©©©©©©}üMW'—»
247Ê©©©©©©©©©©©©aGySŸÈÈŸÜBya©©•©©ö7¬§l
248'»D€©©©©©©©©©©•BëzÃqqqqÕZG2ah•©}ö7¬t
249»')óÒ©©©©©©©©©aG¥žÃÃJ¡ºººº%%ŽâŽhŽh©}A€
250»'‚Àžh©©©©©©©ŽõížVÃÃJ¡ººœº%ÿ%êBᎎ}}}}Ê
251;—¶²xê©©©©©©
252õΞžVÃJJ¡ºo‰ µ¿¿ÿêBá!}}}}Êþ
253;—<;d
254©©©}}©Î$žžVÃJºqºo‰ µ¿öö}ZB©}}}}5þ
255u—;[
256}}}}}ŽáÛí$çžVÃJºìºo‰Šµ¿¿öö%Sa}}}}5þÐu—uŽê}}}}}SõÛ$$çIIëJJºqo‰Š£¿¿¿¿ÿêy}}}ö5dÐu—ó€©}}©
257áûjÎíçÆÆ>zJºqo‰š£¿¿¿¿¿%hööö•dв<ÀÒ©}}„è¹
258>IÎIݺº¡ºwš|¿¿¿%÷%aŸ:öö
259dв<‡²3h}}\ߢÂXX
260¹›çƛJºqKw‰ô%ooô°qZ\öö
261dÐN<—ä©öö\Ü¢újÎ
262
263¥Æ>JJ¡°
264
265°|oq°ôºƒøöêÍÐN<ä[}öö\S¢jÎí
266>ç>>ÃJ°¥
267
268I°ºqõôºÕèhÍÐN±²Žöö\òåújí¹IV¥ëÃz›I
269
270°IKÃIôºƒnhÍН±behöö\"ØÂÂúÛ¹IV¥Çì›>¥
271顛IzIzJZ\©ÍŸ±‘5\sŽÂXÛ¹íVÇÇÃ>>ÃéTÃI›ôJJìá©©ÍН±±²žÈ
272ŽæÂúj$žžI¥V¥¥VñT¡VÝzJÃq!}ŸŸe±­hƒÂjÎ$žVVVžžV·ãzÃÃÃÃÃZê}ŸŸe1­[
273cúj$$$žžçžçˆÝVVVVªae1Óùö}ê~újÎ$$$$$IˆÝžžž6Ž©ó1‹eh©h~újjjÎÎíÛIvΞç6Zh,11Ê}hcÂúújjjÛÛÎÎí6•©œ1×ð3}h©cúúÛÛ~6h•}œpþ}h©ª666ªªê
274©Qp𐩙0`Šp(Ñö5”0É#ppe
275
276 Fµ}x,pÁŒÊ©H_fö
277gŽrrð3hHöf}
278€x
279©5ÍP@ÍÐÐ×(à[[ŸŸŸŸŸÍÍdÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿáÿÿÿÁÿÿÿÿÿÀ€€€€€ÀÀÀÀÀààààààððÿðÿÿÿÿÿÿµ
280–ø
281ø©-Ž7©¹#ñbÙÙ5jN7©¹Ø4ð~~~
282
283
284ãWVÒÒݓˆ,?7©È;Tà‘Ýҋ!Fz€œ€ËËwæ¿vµ©¹¬Äƒæææææ¿¿æ9\+m+OÛß¿æwZ UÐ]¿¿¿¿¿¿fOtP̊Š1‡ìÍ9Ê/
285%Ršââ,¿¿¿¿v9ζ6
286ù«žžÖÀOÍQ€/Ú­¡·¿vvɡŸÆÚÞE«žaªûÑÏ+šÉ܀š­*H¿ÉÉv(çÆÚÞE«žaœííS+€ÜŒœ0÷—ŠæÉÜ&†ç…
287y‰E«žaªíí{ÕیŒœ0÷D2fÜ&Í(ä¥kGÓùEýaLû{ü\SŒf0÷ЀŒážo)G±Âòýó$YÖlÁ>‡JAË0¢­ƒŒá@Mä†)kG6ùÅïK>«Ôh<úAß0¢›á@Mé ê…
288y‰6eiKÔ>eh<Aw0¢[pö”×ä¥6£ºÂyiÇÓK¯ùåíæ0
289x§ •=ä „¯‰±6|¯¯˜>9æ0
290ŒŒþMX Ƅ„„6`
291
292
293sSÉ,2nvəX rrƅ
294g„„°€ëCËv™™è †8uư€Œ³.É^cÿéé醮qʌ§²ôŒÉ»'îî_ÉIBŸw"3íõŒÜw‚ÜwdŽßf
295+}ÉÉæf€:9fËßËfœƒ’ÿÿÿÿÿøÿñ€€€€€€ÀÀÀÿÿ0I deD'5"
2961t7u†P<aj€2‚
297N„ƒ$O@y:vb(K/)w&S‰Z
298+>~`;}G4M+‡!68\qm
299Q%…
300WlRH|=
301F]i?r,9JU ^kV#3{
302BpXTc.zY_Lf[nChEo-
303ˆˆx*gAs
304\ No newline at end of file
305diff -Naur vendor\current/src/qdjviewexporters.cpp trunk/src/qdjviewexporters.cpp
306--- vendor\current/src/qdjviewexporters.cpp 2011-08-17 16:24:20.000000000 +0200
307+++ trunk/src/qdjviewexporters.cpp 2011-09-26 13:31:18.000000000 +0200
308@@ -91,6 +91,10 @@
309 #include "qdjvuwidget.h"
310 #include "qdjvu.h"
311
312+#ifdef Q_WS_PM
313+# include <cups/cups.h>
314+#endif
315+
316 #ifdef WIN32
317 # define wdup(fh) _dup(fh)
318 #else
319@@ -783,6 +787,7 @@
320 }
321 else if (printer)
322 {
323+#ifndef Q_WS_PM
324 QString printerName = printer->printerName();
325 // disable sigpipe
326 #ifdef SIGPIPE
327@@ -923,6 +928,24 @@
328 closeFile();
329 }
330 #endif
331+#else
332+ char filename[512];
333+ int fd = cupsTempFd(filename, 512);
334+ if (fd < 0) {
335+ qWarning("QPdfPrinter: Could not open temporary file to print");
336+ return;
337+ }
338+/* we need to close the cups fd, so djview can open it again */
339+ close(fd);
340+ file.close();
341+ file.setFileName(filename);
342+ if (! file.fileName().isEmpty())
343+ {
344+ file.remove();
345+ if (file.open(QIODevice::WriteOnly))
346+ output = ::fdopen(file.handle(), "wb");
347+ }
348+#endif
349 }
350 }
351
352@@ -936,6 +959,64 @@
353 ::close(outputfd);
354 if (file.openMode())
355 file.close();
356+#ifdef Q_WS_PM
357+ if (printer)
358+ {
359+ QString printerName = printer->printerName();
360+
361+ // Set up print options.
362+ QByteArray prnName;
363+ QList<QPair<QByteArray, QByteArray> > options;
364+ QVector<cups_option_t> cupsOptStruct;
365+
366+ if (!printerName.isEmpty()) {
367+ prnName = printerName.toLocal8Bit();
368+
369+ QPrintEngine *engine = printer->printEngine();
370+# define PPK_CupsOptions QPrintEngine::PrintEnginePropertyKey(0xfe00)
371+# define PPK_CupsStringPageSize QPrintEngine::PrintEnginePropertyKey(0xfe03)
372+ QVariant cPageSize = engine->property(PPK_CupsStringPageSize);
373+ QVariant cOptions = engine->property(PPK_CupsOptions);
374+ QStringList cupsOptions = cOptions.toStringList();
375+
376+ if (!cPageSize.toString().isEmpty()) {
377+ options.append(QPair<QByteArray, QByteArray>("media", cPageSize.toString().toLocal8Bit()));
378+ }
379+
380+ if (copies > 1) {
381+ options.append(QPair<QByteArray, QByteArray>("copies", QString::number(copies).toLocal8Bit()));
382+ }
383+
384+ if (collate) {
385+ options.append(QPair<QByteArray, QByteArray>("Collate", "True"));
386+ }
387+
388+ if (duplex) {
389+ options.append(QPair<QByteArray, QByteArray>("sides", "two-sided-long-edge"));
390+ }
391+
392+ QStringList::const_iterator it = cupsOptions.constBegin();
393+ while (it != cupsOptions.constEnd()) {
394+ options.append(QPair<QByteArray, QByteArray>((*it).toLocal8Bit(), (*(it+1)).toLocal8Bit()));
395+ it += 2;
396+ }
397+
398+ for (int c = 0; c < options.size(); ++c) {
399+ cups_option_t opt;
400+ opt.name = options[c].first.data();
401+ opt.value = options[c].second.data();
402+ cupsOptStruct.append(opt);
403+ }
404+
405+ // Print the file.
406+ QString title = djview->getDocumentFileName();
407+ cups_option_t* optPtr = cupsOptStruct.size() ? &cupsOptStruct.first() : 0;
408+ cupsPrintFile(prnName.constData(), file.fileName().toLocal8Bit().constData(),
409+ title.toLocal8Bit().constData(), cupsOptStruct.size(), optPtr);
410+ }
411+ file.remove();
412+ }
413+#endif
414 output = 0;
415 outputfd = -1;
416 printer = 0;
417diff -Naur vendor\current/src/qdjvu.cpp trunk/src/qdjvu.cpp
418--- vendor\current/src/qdjvu.cpp 2011-08-17 16:24:20.000000000 +0200
419+++ trunk/src/qdjvu.cpp 2011-08-31 19:09:40.000000000 +0200
420@@ -413,7 +413,7 @@
421 qWarning("QDjVuDocument::setFileName: cannot read file");
422 return false;
423 }
424-#if DDJVUAPI_VERSION >= 19
425+#if DDJVUAPI_VERSION >= 19 && !defined(Q_WS_PM) // as our wcrtomb() is broken
426 QByteArray b = f.toUtf8();
427 document = ddjvu_document_create_by_filename_utf8(*ctx, b, cache);
428 #else
Note: See TracBrowser for help on using the repository browser.