source: diffs/djview_4.10.6_GA.diff@ 184

Last change on this file since 184 was 184, checked in by Silvan Scherrer, 9 years ago

qt diffs: updated djview, updated psi

File size: 26.9 KB
Line 
1diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/build_os2.cmd E:\trees\djview\trunk/build_os2.cmd
2--- E:\trees\djview\trunk\..\vendor\current/build_os2.cmd 1970-01-01 01:00:00.000000000 +0100
3+++ E:\trees\djview\trunk/build_os2.cmd 2016-11-21 14:14:54.000000000 +0100
4@@ -0,0 +1,309 @@
5+/* djview Build Script */
6+/* version history */
7+/* version 1.0.0 from 18.11.2016 Silvan (first edition) */
8+
9+/* init the version string (don't forget to change) */
10+version = "1.0.0"
11+version_date = "18.11.2016"
12+'@echo off'
13+
14+parse arg command option
15+parse source . . scriptFile
16+
17+/* init the required vars */
18+qRC = 0
19+mRC = 0
20+buildDir = strip(directory(),'T','\') /* Make sure we have no trailing backslash */
21+sourceDir = FixDir(filespec('D', scriptFile) || filespec('P', scriptFile))
22+vendorDir = sourceDir || '\..\vendor\current'
23+diffDir = sourceDir || '\..\'
24+srcDir = sourceDir || '\src'
25+OS2Dir = sourceDir || '\os2'
26+installDir = buildDir || '\install'
27+installDirT= installDir
28+qErrorFile = buildDir||'\qmake.err'
29+qOutFile = buildDir||'\qmake.out'
30+mErrorFile = buildDir||'\make.err'
31+mOutFile = buildDir||'\make.out'
32+qt4bin = '%unixroot%\usr\lib\qt4\bin\'
33+
34+/* get the djview version */
35+djview_version = '0.0.0'
36+djview_build = ' '
37+call version
38+internal_build = translate(djview_version, '_', '.')
39+
40+/* get some info from djview_os2.pri */
41+psDir = ' '
42+
43+title = "djview for OS/2 and OS/2-based systems build script v" || version || " from " || version_date
44+say title
45+say
46+say "Build directory :" buildDir
47+say "Source directory :" sourceDir
48+say
49+say "djview version :" djview_version
50+say " build :" djview_build
51+say
52+
53+/* translate command to all upercase */
54+command = translate(command)
55+
56+if command = "" then signal help
57+
58+
59+if command = "INSTALL" then do
60+ if option \== "" then do
61+ djview_build = option
62+ end
63+ select
64+ when djview_build \== "" then do
65+ zipFile = installDir || '\djview-' || internal_build || '-' || djview_build || '.zip'
66+ end
67+ otherwise do
68+ signal help
69+ end
70+ end
71+end
72+
73+/* now we translate also the option */
74+option = translate(option)
75+
76+if sourceDir \== buildDir then do
77+ say "Shadow build in progress ..."
78+ say
79+end
80+
81+say "Executing command: "command option
82+
83+select
84+ when command = "MAKE" & option = "CLEAN" then do
85+
86+ say "cleaning the tree"
87+ call make 'distclean'
88+
89+ say "please execute this script again with 'make' to build djview"
90+
91+ end
92+ when command = "MAKE" then do
93+
94+ say "creating djview makefile"
95+ call qmake
96+
97+ if qRC = 0 then do
98+ say "building djview"
99+ if option = "" then do
100+ call make
101+ end
102+ else do
103+ call make 'debug'
104+ end
105+ end
106+
107+ end
108+
109+ when command = "INSTALL" then do
110+
111+/* first delete everything */
112+ call deleteall
113+
114+/* create the installDir,and the translation subdir */
115+ ok = SysMkDir(installDir)
116+ ok = SysMkDir(installDirT)
117+
118+/* copy the exe */
119+ ok = SysCopyObject(buildDir||'\src\djview.exe',installDir)
120+
121+/* copy all dll */
122+ ok = SysFileTree(buildDir||'\src\*.dll', rm.,'FOS')
123+ do i = 1 to rm.0
124+ ok = SysCopyObject(rm.i, installDir)
125+ end
126+
127+/* copy the readme */
128+ rm.0 = 1
129+ rm.1 = 'readme.os2'
130+ do i = 1 to rm.0
131+ cmdtorun = 'sed "s;_VERSION_;' || djview_version || ';g" ' || os2Dir || '\' || rm.i || ' | sed "s;_BUILD_;' || djview_build || ';g" >' || installDir || '\' || rm.i
132+ address cmd cmdtorun
133+ end
134+
135+/* copy different stuff */
136+ rm.0 = 3
137+ rm.1 = 'NEWS'
138+ frmDir.1 = sourceDir
139+ toDir.1 = installDir
140+ rm.2 = 'COPYRIGHT'
141+ frmDir.2 = sourceDir
142+ toDir.2 = installDir
143+ rm.3 = 'COPYING'
144+ frmDir.3 = sourceDir
145+ toDir.3 = installDir
146+ do i = 1 to rm.0
147+ cmdtorun = 'copy ' || frmDir.i || '\' || rm.i || ' ' || toDir.i
148+ address cmd cmdtorun
149+ end
150+
151+/* create the qm files from ts files */
152+ ok = SysFileTree(srcDir||'\*.ts', rm.,'FO')
153+ do i = 1 to rm.0
154+ fileName = filespec('N',rm.i)
155+ fileName = left(fileName,lastpos('.', fileName)-1) || '.qm'
156+ cmdtorun = qt4bin || 'lrelease ' || rm.i || ' -qm ' || installDirT || '\' || fileName
157+ address cmd cmdtorun
158+ end
159+
160+/* zip all dynamic stuff */
161+ ok = directory(installDir)
162+ cmdtorun = 'zip -r ' || zipFile || ' * -x *.zip'
163+ address cmd cmdtorun
164+ ok = directory(buildDir)
165+
166+/* zip all icons */
167+ ok = directory(os2Dir)
168+ cmdtorun = 'zip ' || zipFile || ' *.ico'
169+ address cmd cmdtorun
170+ ok = directory(buildDir)
171+
172+ end
173+
174+ when command = "UNINSTALL" then do
175+
176+ call deleteall
177+
178+ end
179+
180+ when command = "DIFF" then do
181+
182+ address cmd 'diff -Naur ' || vendorDir || ' ' || sourceDir || ' -x djview.desktop >' || diffDir || 'djview_' || djview_version || '_' || djview_build || '.diff'
183+
184+ end
185+
186+ otherwise do
187+ say 'Unknown parameter "'command'" - aborting...'
188+ exit 1
189+ end
190+end
191+
192+/* cleanup the mess */
193+error:
194+
195+if qRC = 0 & mRC = 0 then do
196+ ok = SysFileDelete(mOutFile)
197+ ok = SysFileDelete(mErrorFile)
198+ ok = SysFileDelete(qOutFile)
199+ ok = SysFileDelete(qErrorFile)
200+end
201+else do
202+ if mRC <> 0 then do
203+ say "Alarm! Make errors occured! Look at "mOutFile" and "mErrorFile
204+ end
205+ if qRC <> 0 then do
206+ say "Alarm! qMake errors occured! Look at "qOutFile" and "qErrorFile
207+ end
208+end
209+
210+exit 0
211+
212+qmake:
213+ sourceFile = sourceDir || '/djview.pro'
214+ address cmd 'qmake ' sourceFile ' 2>'qErrorFile' 1>'qOutFile
215+
216+ qRC = RC
217+ if qRC <> 0 then do
218+ call beep 880, 20
219+ say "Alarm! qmake RC="RC
220+ end
221+return
222+
223+make:
224+ makeparm = arg(1)
225+ address cmd 'make 'makeparm' 2>'mErrorFile' 1>'mOutFile
226+ mRC = RC
227+ if mRC <> 0 then do
228+ call beep 880, 20
229+ say "Alarm! make RC="RC
230+ end
231+return
232+
233+
234+deleteall: /* delete installDir (including subdirs) except zip files */
235+
236+ say "Delete all files except *zip in " installDir
237+ ok = SysFileTree(installDir||'\*', rm.,'FOS')
238+ do i = 1 to rm.0
239+ if translate(right(rm.i, 3)) \== 'ZIP' then do
240+ ok = SysFileDelete(rm.i)
241+ end
242+ end
243+
244+ say "Delete zip file " zipFile
245+ ok = SysFileDelete(zipFile)
246+
247+ say "Removing subdirs from " || installDir
248+ ok = SysFileTree(installDir||'\*', rm.,'OS')
249+ do i = 1 to rm.0
250+ ok = SysRmDir(rm.i)
251+ end
252+
253+ call SysSleep(5)
254+return
255+
256+/**
257+ * Fixes the directory path by a) converting all slashes to back
258+ * slashes and b) ensuring that the trailing slash is present if
259+ * the directory is the root directory, and absent otherwise.
260+ *
261+ * @param dir the directory path
262+ * @param noslash
263+ * optional argument. If 1, the path returned will not have a
264+ * trailing slash anyway. Useful for concatenating it with a
265+ * file name.
266+ */
267+FixDir: procedure expose (Globals)
268+ parse arg dir, noslash
269+ noslash = (noslash = 1)
270+ dir = translate(dir, '\', '/')
271+ if (right(dir, 1) == '\' &,
272+ (noslash | \(length(dir) == 3 & (substr(dir, 2, 1) == ':')))) then
273+ dir = substr(dir, 1, length(dir) - 1)
274+ return dir
275+
276+/**
277+ * reads the version.cpp and gets the djview version from there
278+ */
279+version: procedure expose djview_version djview_build srcDir
280+
281+ djviewVer = ' '
282+ /* djview Version file */
283+ Version = srcDir || "\version.h"
284+
285+ do until lines(Version) = 0
286+ verline = linein(Version)
287+ if substr(Verline,10,18) = "DJVIEW_VERSION_STR" then do
288+ parse var verline . ' ' . ' ' . djviewVer
289+ end
290+ end
291+
292+ ok = stream(Version,'c','close')
293+ if djviewVer \== ' ' then do
294+ djviewVer = strip(djviewVer,,'"')
295+ parse var djviewVer ver '.' maj '.' min '.' djview_build
296+ djview_version = ver || '.'|| maj || '.' || min
297+ end
298+
299+ if djview_build == '' then do
300+ djview_build = 'GA'
301+ end
302+
303+ return
304+
305+help:
306+ say "Parameters:"
307+ say " make"
308+ say " make debug"
309+ say " make clean"
310+ say " install build (build overwrites what this script finds)"
311+ say " uninstall"
312+ say " diff (creates a diff from vendor to trunk)"
313+exit 255
314diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/djview.pro E:\trees\djview\trunk/djview.pro
315--- E:\trees\djview\trunk\..\vendor\current/djview.pro 1970-01-01 01:00:00.000000000 +0100
316+++ E:\trees\djview\trunk/djview.pro 2016-11-18 15:36:34.000000000 +0100
317@@ -0,0 +1,5 @@
318+TEMPLATE = subdirs
319+
320+SUBDIRS += src
321+
322+src.file=src/djview.pro
323\ No newline at end of file
324diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/os2/djvuapp_os2.ico E:\trees\djview\trunk/os2/djvuapp_os2.ico
325--- E:\trees\djview\trunk\..\vendor\current/os2/djvuapp_os2.ico 1970-01-01 01:00:00.000000000 +0100
326+++ E:\trees\djview\trunk/os2/djvuapp_os2.ico 2016-11-18 16:23:32.000000000 +0100
327@@ -0,0 +1,5 @@
328+BA(HCIØ
3290`ÿÿÿCIØ
330
33100ÿÿÿå®yYU$¥oÈðõɓf0BŽpµ²ÔÂ@x£jikÀ¢‘èøÅ;Þ|;ȞV0s3z9Çÿeƒ“€¹ŽkŠÍ"~ÁÛǵMVqNšPBi‹ãÿݳÛÙÙÛæ›Èþ·À²²«‰xynúà­ôóãU“Ÿ…
332C9Y(‡v1Š–×¥už^Hƒš»ÎYX[SvœÒÿÒh0bŒnn¡¡¡uQIÊÊÊöâÌd±å‘ToŸbaÒ² o,Œz;R9Žîß‘ž\Msáêð˜~~;„·bUsbÔÿáÿ᥎ŽÅÞÎæÒ€üùÓåݹšd—0Ì`2›'€ãSATo`†vG­·€¢áó±€@fúìÂ^iz꿅
333Bo’ÚÐË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…
334Z3©©©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Ø
335 @ÿÿÿCIØ
336 ÿÿÿ‘é¬|bßÿW,ô˒Kƒ¬ª¢žE²íÌÞÑ|a€ýòÈq¬ÏŒ‘œÅáÊ«šàéªGžÌ}:xâüâ„m£Ëœ»³•‡sH™˜†°ŒÚîîØÆzœé4‡ÃbI€Mf¶ùÞ©žŸŸµÛ•gyãõÃ
337—åäàßûïâäÆŠãŸ‰n2·€£µµµ
338+†×ÈÄÐêîòƒ„ƒÙПyb–ÓüӂNxˆlôæ»EÄøéÚ¡ÙÒҏ€ž~A‰Êž«éζïèÌŠ³œœŸ‘ùõòZ(qgAq0}ûúת«ªâǕ™€ ’¶¹zäÝŽåõÕóÍ¡BˆÇŒ¬ªÕŬÑÅÅh£ÉîéçrX
339áŽ‚‰}nƒú؞ãèŖËëe/†Ä¶ŽÁÂÁðâØÞëØìí¶ßýˎhƒóÕ¶jO•åÕ«ÜÜÛÞÞ õòÓìúÇxk˜éΠûù簞›sT™ë˱šŸëÝÏüå³àÕÉÀ«žñâ§ðïïåçèe,|ëÚ¯»Œ»þýôíòÁãòãY€ëêÜÑÒÑÓ»¬ÅãÌËËËüëŸóß³õ×§Ã±š€€§õêÃçᜓ•úúúéç«gJèõº‰{†”Œž°°°™˜ž±Ž}À¥˜§š³o0‡ýùÏ÷М„…
340‡g6Ž××ןÈúûᒄ«ÚÈŸm8”eG†òãÂâÛÚïÓ¡ŠzŸ›‹²ÔÊÊIžòàúÔöõ×|<„lA‘ôÝ»ñã¹íÞÈìÖš[+{_3…
3410ÂDºîÜǪš€­íɟ ‹Þ÷ìÎøðëze›ØúÍçΪííìæßÔèÛÁä͝ÆÊÍwbèßžûæ·éíÀŠÚóóòêääàßßäڻƹžŸª€Á±¯qP”òï草“åÔ§äÕ²ÛÑËø÷äïËŠIu‰i‰úíÄÌÂÂ÷÷ö’Ž™üõÎäã㍂™Æ¬žqD•yfõԞ˹¯éééúâ±úÙ¢øÔ¡ìϜ”€®³ ŸüüøúíßèôăR{’h}ôîÇðíË­¥œ£–¶Äš˜iC‹FÂõù÷Ò®~füüñø÷êùúÛéÜÖöЀBA(CIØ
342 ÿÿÿCIX
343ÿÿÿ
344Þž’õҜËîxH‡@·óÊÉÎ=ŽÈâüÓÇ«˜hh›­ŸœôåÀÞÙåu‘öíæ[¹ç°ŸÍ‚_•!ƒÑáÔË6ÛÖ»£Ê»º”wšÓçÖ ‰²·±·éç®ìåÓ~o‰õ÷Õ°ŠªûÞš×ǹֳ”îÔ«”…
345“ÇÔÚôõôçìêç̛êïœÆŒÑõÚžº¯ÄR¿îÄÀÅÖÎÌûç¶äÞÙ©ž¥æóÍ~WŽøøçíâ·êõ×ãäâÒÈÂëáÂúýôõà°ùóÍïïïúìÀýõî~ÛëÕßÙÔª™žæèŒA²íðèÆiŒñãÎî̙ÇÂÍìÛ¶ßÞÞÜÐÈîçŸöã·ûüûêèæôÕ­êПù÷÷÷ÚªöúÚÉÀÔÔ¹ßÕÐíêïðÞ°æààÒÇ·ßß㮢¹TŒë“|’öòññóñóîãמ ÓʺõîêïÞ¶~kŠüùøùû÷îäÐáßÛíÞ²ééé=·ôääåßÙÑßÔÍýþþ÷øÙùÙ©õäµìãÃ~i‹ß×ÒÉŸÓÒÇÀ~mŠßßáêèèòòñõӝäåäîâžþþþøóÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿðÿÿÿøÿÿ„à€€€€€€ÀÀÀÀÀÀàààààððððððøøøøø?øÿü‡ÿÿüÿÿÿÿÿÿÿÿÿ˜C-ŽS˜E&a*E
346€“*E
347€*E
348ÅY*E
349Å?9{Lm/*E
350?³9’i+®ý^ŠQ
351+*E
352Ë«š8† LmÞލ^ŠQîî
353
354ПÍd3ÒÊOE
355€ÖRÚٜÄD¯.....ÏÏ
356ҕ€•ÊÊ55•
357©©©]OE
358Œ4UÌÐ3ggҞžž333ÒÊ5
359©©©©Ò©©©©©©©©©©–=E
360Ôkï<…
361Ÿ5©©©©©©©©©©©©©©h!SBGS!h©©©©©©}üMW'—»
362Ê©©©©©©©©©©©©aGySŸÈÈŸÜBya©©•©©ö7¬§l
363'»D€©©©©©©©©©©•BëzÃqqqqÕZG2ah•©}ö7¬t
364»')óÒ©©©©©©©©©aG¥žÃÃJ¡ºººº%%ŽâŽhŽh©}A€
365»'‚Àžh©©©©©©©ŽõížVÃÃJ¡ººœº%ÿ%êBᎎ}}}}Ê
366;—¶²xê©©©©©©
367õΞžVÃJJ¡ºo‰ µ¿¿ÿêBá!}}}}Êþ
368;—<;d
369©©©}}©Î$žžVÃJºqºo‰ µ¿öö}ZB©}}}}5þ
370u—;[
371}}}}}ŽáÛí$çžVÃJºìºo‰Šµ¿¿öö%Sa}}}}5þÐu—uŽê}}}}}SõÛ$$çIIëJJºqo‰Š£¿¿¿¿ÿêy}}}ö5dÐu—ó€©}}©
372áûjÎíçÆÆ>zJºqo‰š£¿¿¿¿¿%hööö•dв<ÀÒ©}}„è¹
373>IÎIݺº¡ºwš|¿¿¿%÷%aŸ:öö
374dв<‡²3h}}\ߢÂXX
375¹›çƛJºqKw‰ô%ooô°qZ\öö
376dÐN<—ä©öö\Ü¢újÎ
377
378¥Æ>JJ¡°
379
380°|oq°ôºƒøöêÍÐN<ä[}öö\S¢jÎí
381>ç>>ÃJ°¥
382
383I°ºqõôºÕèhÍÐN±²Žöö\òåújí¹IV¥ëÃz›I
384
385°IKÃIôºƒnhÍН±behöö\"ØÂÂúÛ¹IV¥Çì›>¥
386顛IzIzJZ\©ÍŸ±‘5\sŽÂXÛ¹íVÇÇÃ>>ÃéTÃI›ôJJìá©©ÍН±±²žÈ
387ŽæÂúj$žžI¥V¥¥VñT¡VÝzJÃq!}ŸŸe±­hƒÂjÎ$žVVVžžV·ãzÃÃÃÃÃZê}ŸŸe1­[
388cúj$$$žžçžçˆÝVVVVªae1Óùö}ê~újÎ$$$$$IˆÝžžž6Ž©ó1‹eh©h~újjjÎÎíÛIvΞç6Zh,11Ê}hcÂúújjjÛÛÎÎí6•©œ1×ð3}h©cúúÛÛ~6h•}œpþ}h©ª666ªªê
389©Qp𐩙0`Šp(Ñö5”0É#ppe
390
391 Fµ}x,pÁŒÊ©H_fö
392gŽrrð3hHöf}
393€x
394©5ÍP@ÍÐÐ×(à[[ŸŸŸŸŸÍÍdÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿáÿÿÿÁÿÿÿÿÿÀ€€€€€ÀÀÀÀÀààààààððÿðÿÿÿÿÿÿµ
395–ø
396ø©-Ž7©¹#ñbÙÙ5jN7©¹Ø4ð~~~
397
398
399ãWVÒÒݓˆ,?7©È;Tà‘Ýҋ!Fz€œ€ËËwæ¿vµ©¹¬Äƒæææææ¿¿æ9\+m+OÛß¿æwZ UÐ]¿¿¿¿¿¿fOtP̊Š1‡ìÍ9Ê/
400%Ršââ,¿¿¿¿v9ζ6
401ù«žžÖÀOÍQ€/Ú­¡·¿vvɡŸÆÚÞE«žaªûÑÏ+šÉ܀š­*H¿ÉÉv(çÆÚÞE«žaœííS+€ÜŒœ0÷—ŠæÉÜ&†ç…
402y‰E«žaªíí{ÕیŒœ0÷D2fÜ&Í(ä¥kGÓùEýaLû{ü\SŒf0÷ЀŒážo)G±Âòýó$YÖlÁ>‡JAË0¢­ƒŒá@Mä†)kG6ùÅïK>«Ôh<úAß0¢›á@Mé ê…
403y‰6eiKÔ>eh<Aw0¢[pö”×ä¥6£ºÂyiÇÓK¯ùåíæ0
404x§ •=ä „¯‰±6|¯¯˜>9æ0
405ŒŒþMX Ƅ„„6`
406
407
408sSÉ,2nvəX rrƅ
409g„„°€ëCËv™™è †8uư€Œ³.É^cÿéé醮qʌ§²ôŒÉ»'îî_ÉIBŸw"3íõŒÜw‚ÜwdŽßf
410+}ÉÉæf€:9fËßËfœƒ’ÿÿÿÿÿøÿñ€€€€€€ÀÀÀÿÿ0I deD'5"
4111t7u†P<aj€2‚
412N„ƒ$O@y:vb(K/)w&S‰Z
413+>~`;}G4M+‡!68\qm
414Q%…
415WlRH|=
416F]i?r,9JU ^kV#3{
417BpXTc.zY_Lf[nChEo-
418ˆˆx*gAs
419\ No newline at end of file
420diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/os2/readme.os2 E:\trees\djview\trunk/os2/readme.os2
421--- E:\trees\djview\trunk\..\vendor\current/os2/readme.os2 1970-01-01 01:00:00.000000000 +0100
422+++ E:\trees\djview\trunk/os2/readme.os2 2016-11-18 16:33:54.000000000 +0100
423@@ -0,0 +1,244 @@
424+DjView4 _VERSION_ _BUILD_ ReadMe
425+
426+
427+
428+0. CONTENTS OF THIS FILE
429+========================
430+
431+1. INTRODUCTION
432+
433+2. REQUIREMENTS
434+
435+3. INSTALLATION
436+
437+4. LICENSE, COPYRIGHT, DISCLAIMER
438+
439+5. BUGREPORTS
440+
441+6. CREDITS
442+
443+7. SUPPORT AND DONATIONS
444+
445+8. HISTORY
446+
447+
448+1. INTRODUCTION
449+===============
450+
451+Welcome to DjView4 _VERSION_ _BUILD_ port for OS/2 and OS/2 based systems.
452+
453+
454+2. REQUIREMENTS
455+===============
456+
457+2.1 kLIBC, GCC4Core, Qt4, Zlib, cups
458+------------------------------------
459+
460+The installation of these products can be done either by RPM or ZIP files.
461+
462+2.1.a RPM installation
463+----------------------
464+If some packets are already installed, please see if updates for those are
465+available with "yum update xyz". Where xyz is the package name.
466+
467+kLIBC
468+-----
469+
470+ 1. yum install libc
471+
472+GCC4Core
473+--------
474+
475+ 1. yum install libgcc1 libgcc-fwd
476+ 2. yum install libssp
477+ 3. yum install libstdc++ libstdc++6
478+ 4. yum install libsupc++ libsupc++6
479+
480+Qt4 dll
481+-------
482+
483+ 1. yum install libqt4
484+
485+Zlib
486+----
487+
488+ 1. yum install zlib
489+
490+Jpeg, Tiff, Png
491+---------------
492+
493+ 1. yum install libjpeg libtiff libpng
494+
495+djvulibre
496+---------
497+
498+ 1. yum install djvulibre-libs
499+
500+cups
501+----
502+
503+ 1. yum install cups
504+ 2. yum install cups-filters
505+
506+freetype/fontconfig
507+-------------------
508+
509+ 1. yum install freetype fontconfig
510+
511+pthread
512+-------
513+
514+ 1. yum install pthread
515+
516+
517+2.1.b ZIP Installation
518+----------------------
519+
520+kLIBC
521+-----
522+
523+ 1. Download kLIBC 0.6.6 or better (see http://svn.netlabs.org/libc for more
524+ information)
525+ 2. Install the files to your libpath eg x:\ecs\dll
526+
527+GCC4Core
528+--------
529+
530+ 1. Download GCC4Core 1.3.1 or better from ftp://ftp.netlabs.org/pub/gcc
531+ 2. Install the files to your libpath eg. x:\ecs\dll
532+
533+Qt4 dll
534+-------
535+
536+ 1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more
537+ information)
538+ 2. Install the files according to the readme
539+
540+Zlib
541+----
542+
543+ 1. Download zlib from http://rpm.netlabs.org/release/00/zip
544+ 2. Unpack and install z.dll to your libpath eg. x:\ecs\dll
545+
546+Jpeg, Tiff, Png
547+---------------
548+
549+ 1. Download libjpeg, libtiff and libpng from http://rpm.netlabs.org/release/00/zip
550+ 2. Unpack and install the dll to your libpath eg. x:\ecs\dll
551+
552+djvulibre
553+---------
554+
555+ 1. Download djvulibre from http://rpm.netlabs.org/release/00/zip
556+ 2. Unpack and install the dll to your libpath eg. x:\ecs\dll
557+
558+cups
559+----
560+
561+ 1. Go to eCUPS wiki to see how to install eCUPS (http://svn.netlabs.org/ecups)
562+ 2. Install eCUPS according to the above wiki
563+
564+freetype/fontconfig
565+-------------------
566+
567+ 1. Download freetype and fontconfig from http://rpm.netlabs.org/release/00/zip
568+ 2. Unpack and install freetyp6.dll and fntcfg2.dll to your libpath eg. x:\ecs\dll
569+
570+pthread
571+-------
572+
573+ 1. Download pthread from http://rpm.netlabs.org/release/00/zip
574+ 2. Unpack and install pthr01.dll to your libpath eg. x:\ecs\dll
575+
576+
577+3. INSTALLATION
578+===============
579+
580+To install DjView4, do the following:
581+
582+ 1. Create a directory for DjView4.
583+ 2. Extract the DjView4 package to the new directory.
584+ 3. Create a WPS object for djview.exe.
585+ 4. Start djview
586+ 5. Enjoy the app :)
587+
588+
589+4. LICENSE, COPYRIGHT, DISCLAIMER
590+=================================
591+
592+see COPYRIGHT and COPYING
593+
594+This program is distributed in the hope that it will be useful,
595+but WITHOUT ANY WARRANTY; without even the implied warranty of
596+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
597+
598+
599+4. BUGREPORTS
600+=============
601+
602+Please create bugreports at http://svn.netlabs.org/qtapps
603+Only bug reports with a reproducable bug are accepted. :-)
604+
605+
606+6. CREDITS
607+==========
608+
609+The port was done by:
610+
611+Silvan Scherrer aka _diver
612+
613+Thanks go to:
614+
615+ * Dmitry A. Kuminov
616+ * Oliver Cremer
617+
618+They either helped me when I had some nasty questions or did some testing for
619+me.
620+
621+
622+7. SUPPORT AND DONATIONS
623+========================
624+
625+DjView4 is based on volunteer work. If you would like to support further
626+development, you can do so in one of the following ways:
627+
628+
629+ * Donate to the Qt4 project: see qt.netlabs.org for more information
630+
631+ * Contribute to the project: Besides actual development, this also includes
632+ maintaining the documentation and the project web site as well as help
633+ for users.
634+
635+
636+8. HISTORY
637+==========
638+
639+2016-11-18
640+
641+ * updated to djviewlibre 3.5.27 code
642+ * updated djview to 4.10.1
643+
644+2013-03-25
645+
646+ * updated to djviewlibre 3.5.25 code
647+
648+2011-09-27
649+
650+ * updated to 4.8 code level of djview
651+ * updated to djviewlibre 3.5.24
652+ * updated to Qt 4.7.3
653+ * cups >= 1.4.8 required
654+
655+2010-10-13
656+
657+ * added printing support
658+
659+2010-09-02
660+
661+ * updated to 4.6 code level of djview
662+ * updated to 3.5.23 code level of djvulibre
663+
664+2010-09-01
665+
666+ * initial port
667+
668diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/src/djview_os2.rc E:\trees\djview\trunk/src/djview_os2.rc
669--- E:\trees\djview\trunk\..\vendor\current/src/djview_os2.rc 1970-01-01 01:00:00.000000000 +0100
670+++ E:\trees\djview\trunk/src/djview_os2.rc 2016-11-21 14:07:26.000000000 +0100
671@@ -0,0 +1 @@
672+ICON 1 DISCARDABLE "../os2/DjVuApp_os2.ico"
673diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/src/djview.pro E:\trees\djview\trunk/src/djview.pro
674--- E:\trees\djview\trunk\..\vendor\current/src/djview.pro 2015-12-26 17:57:08.000000000 +0100
675+++ E:\trees\djview\trunk/src/djview.pro 2016-11-18 17:13:00.000000000 +0100
676@@ -66,6 +66,12 @@
677 win32 {
678 RC_FILE = djview.rc
679 }
680+# --- os2 stuff
681+os2 {
682+ QT -= opengl
683+ LIBS += -lpthread -ljpeg -llibcups
684+ RC_FILE = djview_os2.rc
685+}
686
687 # --- djviewplugin logic
688 greaterThan(QT_MAJOR_VERSION, 4) {
689@@ -141,3 +147,13 @@
690 TRANSLATIONS += djview_es.ts
691 TRANSLATIONS += djview_zh_cn.ts
692 TRANSLATIONS += djview_zh_tw.ts
693+
694+# -- needed that shadowbuild works nicely
695+qtPrepareTool(LRELEASE, lrelease)
696+updateqm.input = TRANSLATIONS
697+updateqm.output = ${QMAKE_FILE_BASE}.qm
698+updateqm.variable_out = PRE_TARGETDEPS
699+updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
700+updateqm.name = LRELEASE ${QMAKE_FILE_IN}
701+updateqm.CONFIG += no_link
702+QMAKE_EXTRA_COMPILERS += updateqm
703diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/src/qdjviewexporters.cpp E:\trees\djview\trunk/src/qdjviewexporters.cpp
704--- E:\trees\djview\trunk\..\vendor\current/src/qdjviewexporters.cpp 2015-12-26 17:57:08.000000000 +0100
705+++ E:\trees\djview\trunk/src/qdjviewexporters.cpp 2016-11-18 17:23:02.000000000 +0100
706@@ -91,6 +91,10 @@
707 #include "qdjvuwidget.h"
708 #include "qdjvu.h"
709
710+#ifdef Q_OS_OS2
711+# include <cups/cups.h>
712+#endif
713+
714 #ifdef WIN32
715 # define wdup(fh) _dup(fh)
716 #else
717@@ -845,6 +849,7 @@
718 }
719 else if (printer)
720 {
721+#ifndef Q_OS_OS2
722 QString printerName = printer->printerName();
723 // disable sigpipe
724 #ifdef SIGPIPE
725@@ -985,6 +990,24 @@
726 closeFile();
727 }
728 #endif
729+#else
730+ char filename[512];
731+ int fd = cupsTempFd(filename, 512);
732+ if (fd < 0) {
733+ qWarning("QPdfPrinter: Could not open temporary file to print");
734+ return;
735+ }
736+/* we need to close the cups fd, so djview can open it again */
737+ close(fd);
738+ file.close();
739+ file.setFileName(filename);
740+ if (! file.fileName().isEmpty())
741+ {
742+ file.remove();
743+ if (file.open(QIODevice::WriteOnly))
744+ output = ::fdopen(file.handle(), "wb");
745+ }
746+#endif
747 }
748 }
749
750@@ -998,6 +1021,64 @@
751 ::close(outputfd);
752 if (file.openMode())
753 file.close();
754+#ifdef Q_OS_OS2
755+ if (printer)
756+ {
757+ QString printerName = printer->printerName();
758+
759+ // Set up print options.
760+ QByteArray prnName;
761+ QList<QPair<QByteArray, QByteArray> > options;
762+ QVector<cups_option_t> cupsOptStruct;
763+
764+ if (!printerName.isEmpty()) {
765+ prnName = printerName.toLocal8Bit();
766+
767+ QPrintEngine *engine = printer->printEngine();
768+# define PPK_CupsOptions QPrintEngine::PrintEnginePropertyKey(0xfe00)
769+# define PPK_CupsStringPageSize QPrintEngine::PrintEnginePropertyKey(0xfe03)
770+ QVariant cPageSize = engine->property(PPK_CupsStringPageSize);
771+ QVariant cOptions = engine->property(PPK_CupsOptions);
772+ QStringList cupsOptions = cOptions.toStringList();
773+
774+ if (!cPageSize.toString().isEmpty()) {
775+ options.append(QPair<QByteArray, QByteArray>("media", cPageSize.toString().toLocal8Bit()));
776+ }
777+
778+ if (copies > 1) {
779+ options.append(QPair<QByteArray, QByteArray>("copies", QString::number(copies).toLocal8Bit()));
780+ }
781+
782+ if (collate) {
783+ options.append(QPair<QByteArray, QByteArray>("Collate", "True"));
784+ }
785+
786+ if (duplex) {
787+ options.append(QPair<QByteArray, QByteArray>("sides", "two-sided-long-edge"));
788+ }
789+
790+ QStringList::const_iterator it = cupsOptions.constBegin();
791+ while (it != cupsOptions.constEnd()) {
792+ options.append(QPair<QByteArray, QByteArray>((*it).toLocal8Bit(), (*(it+1)).toLocal8Bit()));
793+ it += 2;
794+ }
795+
796+ for (int c = 0; c < options.size(); ++c) {
797+ cups_option_t opt;
798+ opt.name = options[c].first.data();
799+ opt.value = options[c].second.data();
800+ cupsOptStruct.append(opt);
801+ }
802+
803+ // Print the file.
804+ QString title = djview->getDocumentFileName();
805+ cups_option_t* optPtr = cupsOptStruct.size() ? &cupsOptStruct.first() : 0;
806+ cupsPrintFile(prnName.constData(), file.fileName().toLocal8Bit().constData(),
807+ title.toLocal8Bit().constData(), cupsOptStruct.size(), optPtr);
808+ }
809+ file.remove();
810+ }
811+#endif
812 output = 0;
813 outputfd = -1;
814 printer = 0;
815diff -Naur -x djview.desktop E:\trees\djview\trunk\..\vendor\current/src/qdjvu.cpp E:\trees\djview\trunk/src/qdjvu.cpp
816--- E:\trees\djview\trunk\..\vendor\current/src/qdjvu.cpp 2015-12-26 17:57:08.000000000 +0100
817+++ E:\trees\djview\trunk/src/qdjvu.cpp 2016-11-18 16:40:40.000000000 +0100
818@@ -415,7 +415,7 @@
819 qWarning("QDjVuDocument::setFileName: cannot read file");
820 return false;
821 }
822-#if DDJVUAPI_VERSION >= 19
823+#if DDJVUAPI_VERSION >= 19 && !defined(Q_OS_OS2) // as our wcrtomb() is broken
824 QByteArray b = f.toUtf8();
825 document = ddjvu_document_create_by_filename_utf8(*ctx, b, cache);
826 #else
Note: See TracBrowser for help on using the repository browser.