[184] | 1 | diff -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
|
---|
| 314 | diff -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
|
---|
| 324 | diff -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Ø |
---|
| 329 | 0`ÿÿÿCIØ |
---|
| 330 | |
---|
| 331 | 00ÿÿÿå®yYU$¥oÈðõÉf0Bpµ²ÔÂ@x£jikÀ¢èøÅ;Þ|;ÈV0s3z9Çÿe€¹kŠÍ"~ÁÛǵMVqNPBiãÿݳÛÙÙÛæÈþ·À²²«xynúàôóãUŸ
|
---|
| 332 | C9Y(v1Š×¥u^Hš»ÎYX[SvœÒÿÒh0bnn¡¡¡uQIÊÊÊöâÌd±åTobaÒ² o,Œz;R9ŽîßÂ\Msáêð~~;·bUsbÔÿáÿá¥ÅÞÎæÒ€üùÓåݹd0Ì`2'€ãSATo`vG·€¢áó±@fúìÂ^izê¿
|
---|
| 333 | BoÚÐË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
|
---|
| 334 | Z3©©©xvw]îìÇè̶æðÛ»»»íÚ°ve6ÔQbîíìòä×KJã_&®uš]UgâÒ¬q5Ye/¥`VÑÆÅÙóÓz7kÝâšúçžëËúúÜw3ÄQ-îú×ųªýýñb8c.VñÃúñÉfT}%y¹Ü»ñâÀÓÄ·ËñÏÂÂÂI?pBŠ}~}õÛŠ___rrrQ=r³³³`)+ÃéäÔ}C¹g0LåÒÆmPtK€ñж ìà±l³®]EmƶµttÜí¥g)¶èÏœñί÷áµ¥|æõœãÞÛìݹùôÕ÷Û«hcoF0U&ãë³·[?ã×µäÌûûúá×À£vWCt÷ÐðÇk³át¯÷öíBA(CIØ |
---|
| 335 | @ÿÿÿCIØ |
---|
| 336 | ÿÿÿé¬|bßÿW,ôËK¬ª¢žE²íÌÞÑ|aýòÈq¬ÏÅáÊ«àéªGÌ}:xâüâm£Ëœ»³sH°ŒÚîîØÆzœé4ÃbIMf¶ùÞ©µÛÂgyãõà |
---|
| 337 | åäàßûïâäÆŠãŸn2·€£µµµ
|
---|
| 338 | +×ÈÄÐêîòÙПybÓüÓNxlôæ»EÄøéÚ¡ÙÒÒ~AÊž«éζïèÌŠ³œœùõòZ(qgAq0}ûúת«ªâÇ€ ¶¹zäÝŽåõÕóÍ¡BÇŒ¬ªÕŬÑÅÅh£ÉîéçrX
|
---|
| 339 | á}núØãèÅËëe/ĶŽÁÂÁðâØÞëØìí¶ßýËhóÕ¶jOåÕ«ÜÜÛÞÞ õòÓìúÇxkéÎ ûùç°sTëñšŸëÝÏüå³àÕÉÀ«ñâ§ðïïåçèe,|ëÚ¯»Œ»þýôíòÁãòãYëêÜÑÒÑÓ»¬ÅãÌËËËüëŸóß³õ×§Ã±š€€§õêÃçáÅúúúéç«gJèõº{°°°±}À¥§š³o0ýùÏ÷Ð
|
---|
| 340 | g6××ןÈúûá«ÚÈŸm8eGòãÂâÛÚïÓ¡z²ÔÊÊIžòàúÔöõ×|<lAôÝ»ñã¹íÞÈìÖš[+{_3
|
---|
| 341 | 0ÂDºîÜǪš€íÉ Þ÷ìÎøðëzeØúÍçΪííìæßÔèÛÁäÍÆÊÍwbèßžûæ·éíÀÚóóòêääàßßäڻƹžŸª€Á±¯qPòïèåÔ§äÕ²ÛÑËø÷äïËŠIuiúíÄÌÂÂ÷÷öüõÎäããÆ¬qDyfõÔ˹¯éééúâ±úÙ¢øÔ¡ìÏ®³ üüøúíßèôÄR{h}ôîÇðíË¥œ£¶ÄšiCFÂõù÷Ò®~füüñø÷êùúÛéÜÖöЀBA(CIØ |
---|
| 342 | ÿÿÿCIX |
---|
| 343 | ÿÿÿ
|
---|
| 344 | ÞõÒËîxH@·óÊÉÎ=ÈâüÓÇ«hhœôåÀÞÙåuöíæ[¹ç°ŸÍ_!ÑáÔË6ÛÖ»£Ê»ºwšÓçÖ ²·±·éç®ìåÓ~oõ÷Õ°ŠªûÞš×ǹֳîÔ«
|
---|
| 345 | ÇÔÚôõôçìêçÌêïœÆŒÑõÚžº¯ÄR¿îÄÀÅÖÎÌûç¶äÞÙ©¥æóÍ~Wøøçíâ·êõ×ãäâÒÈÂëáÂúýôõà°ùóÍïïïúìÀýõî~ÛëÕßÙÔªžæèŒA²íðèÆiñãÎîÌÇÂÍìÛ¶ßÞÞÜÐÈîçŸöã·ûüûêèæôÕêÐù÷÷÷ÚªöúÚÉÀÔÔ¹ßÕÐíêïðÞ°æààÒÇ·ßß㮢¹TŒë|öòññóñóîãמ ÓʺõîêïÞ¶~küùøùû÷îäÐáßÛíÞ²ééé=·ôääåßÙÑßÔÍýþþ÷øÙùÙ©õäµìãÃ~iß×ÒÉŸÓÒÇÀ~mßßáêèèòòñõÓäåäîâžþþþøóÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿüÿÿÿÿðÿÿÿøÿÿàÀÀÀÀÀÀàààààððððððøøøøø?øÿüÿÿüÿÿÿÿÿÿÿÿÿC-ŽSE&a*E |
---|
| 346 | *E |
---|
| 347 | *E |
---|
| 348 | ÅY*E |
---|
| 349 | Å?9{Lm/*E |
---|
| 350 | ?³9i+®ý^Š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þ |
---|
| 370 | u;[ |
---|
| 371 | }}}}}ŽáÛí$çžVÃJºìºoµ¿¿öö%Sa}}}}5þÐuuê}}}}}SõÛ$$çIIëJJºqo£¿¿¿¿ÿêy}}}ö5dÐuó€©}}© |
---|
| 372 | áûjÎíçÆÆ>zJºqo£¿¿¿¿¿%hööödв<ÀÒ©}}è¹ |
---|
| 373 | >IÎIݺº¡ºw|¿¿¿%÷%aŸ:öö |
---|
| 374 | dв<²3h}}\ߢÂXX |
---|
| 375 | ¹çÆJºqKwô%ooô°qZ\öö |
---|
| 376 | dÐN<ä©öö\Ü¢újÎ |
---|
| 377 | |
---|
| 378 | ¥Æ>JJ¡°
|
---|
| 379 |
|
---|
| 380 | °|oq°ôºøöêÍÐN<ä[}öö\S¢jÎí |
---|
| 381 | >ç>>ÃJ°¥
|
---|
| 382 |
|
---|
| 383 | I°ºqõôºÕèhÍÐN±²öö\òåújí¹IV¥ëÃzI
|
---|
| 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[ |
---|
| 388 | cúj$$$žžçžçÝVVVVªae1Óùö}ê~újÎ$$$$$IÝžžž6Ž©ó1eh©h~újjjÎÎíÛIvΞç6Zh,11Ê}hcÂúújjjÛÛÎÎí6©1×ð3}h©cúúÛÛ~6h}pþ}h©ª666ªªê |
---|
| 389 | ©Qpð©0`Šp(Ñö50É#ppe |
---|
| 390 | |
---|
| 391 | Fµ}x,pÁŒÊ©H_fö |
---|
| 392 | grrð3hHöf} |
---|
| 393 | €x |
---|
| 394 | ©5ÍP@ÍÐÐ×(à[[ÍÍdÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿáÿÿÿÁÿÿÿÿÿÀÀÀÀÀÀààààààððÿðÿÿÿÿÿÿµ
|
---|
| 395 | ø |
---|
| 396 | ø©-Ž7©¹#ñbÙÙ5jN7©¹Ø4ð~~~ |
---|
| 397 | |
---|
| 398 | |
---|
| 399 | ãWVÒÒÝ,?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÷ŠæÉÜ&ç
|
---|
| 402 | yE«aªíí{ÕÛ0÷D2fÜ&Í(ä¥kGÓùEýaLû{ü\Sf0÷Ðážo)G±Âòýó$YÖlÁ>JAË0¢á@Mä)kG6ùÅïK>«Ôh<úAß0¢á@Mé ê
|
---|
| 403 | y6eiKÔ>eh<Aw0¢[pö×ä¥6£ºÂyiÇÓK¯ùåíæ0 |
---|
| 404 | x§ =ä ¯±6|¯¯>9æ0 |
---|
| 405 | þMX Æ6` |
---|
| 406 | |
---|
| 407 | |
---|
| 408 | sSÉ,2nvÉX rrÆ
|
---|
| 409 | g°€ëCËvè 8uư€³.É^cÿééé®qʧ²ôÉ»'îî_ÉIBw"3íõŒÜwÜwdßf
|
---|
| 410 | +}ÉÉæf:9fËßËfÿÿÿÿÿøÿñÀÀÀÿÿ0I deD'5" |
---|
| 411 | 1t7uP<aj2 |
---|
| 412 | N$O@y:vb(K/)w&SZ
|
---|
| 413 | +>~`;}G4M+!68\qm |
---|
| 414 | Q%
|
---|
| 415 | WlRH|= |
---|
| 416 | F]i?r,9JU ^kV#3{ |
---|
| 417 | BpXTc.zY_Lf[nChEo-
|
---|
| 418 | x*gAs
|
---|
| 419 | \ No newline at end of file
|
---|
| 420 | diff -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 | +
|
---|
| 668 | diff -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"
|
---|
| 673 | diff -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
|
---|
| 703 | diff -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;
|
---|
| 815 | diff -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
|
---|