Context Navigation


Changeset 38


Ignore:
Timestamp:
May 8, 2013, 5:56:26 PM (13 years ago)
Author:
Alex Taylor
Message:

Printer Manager: various fixes & updates.

Location:
trunk/gui
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/printer/manager/PRINTOOL.VRX

    r37 r38
    9898CheckPrograms: PROCEDURE EXPOSE globals.
    9999
    100(追記) globals.!hascups = 0 (追記ここまで)
    101(追記) (追記ここまで)
    100102 /* See if CUPSLPR.EXE (required by CUPS.PDR) is installed.
    101103 */
    111113 globals.!programs.!cupslpr = STREAM( globals.!mydir'\cupslpr.exe', 'C', 'QUERY EXISTS')
    112114
    115(追記) /* See if CUPS.PDR is installed. (追記ここまで)
    116(追記) */ (追記ここまで)
    117(追記) IF globals.!programs.!cupslpr <> '' THEN DO (追記ここまで)
    118(追記) cups_pdr = VRGetIni('PM_PORT_DRIVER', 'CUPS', 'System') (追記ここまで)
    119(追記) IF cups_pdr == '' THEN DO (追記ここまで)
    120(追記) cups_pdr = STREAM( globals.!bootdrv'\OS2\DLL\CUPS.PDR', 'C', 'QUERY EXISTS') (追記ここまで)
    121(追記) IF cups_pdr <> '' THEN CALL VRSetIni('PM_PORT_DRIVER', 'CUPS', cups_pdr, 'System') (追記ここまで)
    122(追記) END (追記ここまで)
    123(追記) IF cups_pdr <> '' THEN (追記ここまで)
    124(追記) globals.!hascups = 1 (追記ここまで)
    125(追記) END (追記ここまで)
    126(追記) (追記ここまで)
    113127 /* See if GZIP.EXE is installed (required for unpacking CUPS PPDs).
    114128 */
    119133 globals.!programs.!gzip = STREAM( globals.!mydir'\gzip.exe', 'C', 'QUERY EXISTS')
    120134
    121 (削除) IF globals.!hascups THEN DO (削除ここまで)
    122 (削除) globals.!programs.!lpadmin = STREAM( globals.!cupsdir'\sbin\lpadmin.exe', 'C', 'QUERY EXISTS') (削除ここまで)
    123 (削除) globals.!programs.!lpinfo = STREAM( globals.!cupsdir'\sbin\lpinfo.exe', (削除ここまで) 'C', 'QUERY EXISTS')
    124 (削除) globals.!programs.!lpoptions = STREAM( globals.!cupsdir'\bin\lpoptions.exe', (削除ここまで) 'C', 'QUERY EXISTS')
    125 (削除) globals.!programs.!lpstat = STREAM( globals.!cupsdir'\bin\lpstat.exe', (削除ここまで) 'C', 'QUERY EXISTS')
    126 (削除) END (削除ここまで)
    135 (追記) /* Try and find some other CUPS programs we use. (追記ここまで)
    136 (追記) */ (追記ここまで)
    137 (追記) globals.!programs.!lpadmin = STREAM( globals.!cupsdir'\sbin\lpadmin.exe', (追記ここまで) 'C', 'QUERY EXISTS')
    138 (追記) globals.!programs.!lpinfo = STREAM( globals.!cupsdir'\sbin\lpinfo.exe', (追記ここまで) 'C', 'QUERY EXISTS')
    139 (追記) globals.!programs.!lpoptions = STREAM( globals.!cupsdir'\bin\lpoptions.exe', (追記ここまで) 'C', 'QUERY EXISTS')
    140 (追記) globals.!programs.!lpstat = STREAM( globals.!cupsdir'\bin\lpstat.exe', 'C', 'QUERY EXISTS') (追記ここまで)
    127141
    128142RETURN
    202216
    203217 IF TRANSLATE( _host ) <> 'LOCALHOST' THEN
    204 del_cmd = globals.!programs.!lpadmin '-h' _host '-(削除) d (削除ここまで)' _dest
    218 del_cmd = globals.!programs.!lpadmin '-h' _host '-(追記) x (追記ここまで)' _dest
    205219 ELSE
    206 del_cmd = globals.!programs.!lpadmin '-(削除) d (削除ここまで)' _dest
    220 del_cmd = globals.!programs.!lpadmin '-(追記) x (追記ここまで)' _dest
    207221 CALL LINEOUT globals.!log1, 'Delete CUPS destination' _dest' with:' del_cmd
    208222
    223(追記) /* (追記ここまで)
    209224 nq = RXQUEUE('CREATE')
    210225 oq = RXQUEUE('SET', nq )
    213228 PARSE PULL _output
    214229 CALL LINEOUT globals.!log2, _output
    215 IF LEFT( _output, (削除) 8 ) == 'Password (削除ここまで)' & RIGHT( STRIP( _output ), 1 ) == '?' THEN DO
    230 IF LEFT( _output, (追記) 12 ) == 'Password for (追記ここまで)' & RIGHT( STRIP( _output ), 1 ) == '?' THEN DO
    216231 CALL SysSleep 1
    217 (削除) CALL CHAROUT, (削除ここまで) '0d0a'x
    232 (追記) PUSH (追記ここまで) '0d0a'x
    218233 END
    219234 END
    220235 CALL RXQUEUE 'SET', oq
    221236 CALL RXQUEUE 'DELETE', nq
    222/*
    237*/
    238
    239 _od = DIRECTORY()
    240 CALL DIRECTORY VRParseFileName( globals.!programs.!lpadmin, 'DP')
    223241 ADDRESS CMD '@' del_cmd '2>&1 >>' globals.!log2
    224*/
    242 CALL DIRECTORY _od
    225243
    226244 CALL LINEOUT globals.!log2, ''
    238256/*:VRX DriverDelete
    239257*/
    240DriverDelete: PROCEDURE EXPOSE globals
    258DriverDelete: PROCEDURE EXPOSE globals.
    259 PARSE ARG record
    260 IF record == '' THEN DO
    261 ok = VRMethod( "CN_DEVICES", "GetRecordList", "Selected", "recs." )
    262 IF ok == 0 | recs.0 < 1 THEN RETURN
    263 record = recs.1
    264 END
    265 CALL VRMethod 'CN_DEVICES', 'SetRecordAttr', record, 'Source', 0
    266
    267 _name = VRMethod('CN_DEVICES', 'GetFieldData', record, globals.!hcfDevices.!model )
    268 _driver = VRMethod('CN_DEVICES', 'GetFieldData', record, globals.!hcfDevices.!driver )
    269 IF _name == '' THEN RETURN
    270 IF _driver == '' THEN RETURN
    271
    272 IF _driver == 'IBMNULL' THEN DO
    273 CALL VRMessage 'WN_MAIN', NLSGetMessage( 212 ), NLSGetMessage( 209 ), 'W'
    274 RETURN
    275 END
    276
    277 device_name = _driver'.'_name
    278 device_in_use = 0
    279 printers.0 = 0
    280 CALL RPUEnumPrinters 'printers.'
    281 DO i = 1 TO printers.0
    282 CALL RPUPrinterQuery printers.i.!name, 'details.'
    283 CALL StringTokenize details.!drivers, ',', 'used_dev.'
    284 DO j = 1 TO used_dev.0
    285 IF used_dev.j == device_name THEN DO
    286 device_in_use = 1
    287 LEAVE
    288 END
    289 END
    290 IF device_in_use == 1 THEN DO
    291 _title = TRANSLATE( printers.i.!description, ' ', '0d0a'x)
    292 CALL VRMessage 'WN_MAIN', NLSGetMessage( 208, device_name, _title ), NLSGetMessage( 209 ), 'W'
    293 RETURN
    294 END
    295 END
    296
    297 _btns.0 = 2
    298 _btns.1 = NLSGetMessage( 14 )
    299 _btns.2 = NLSGetMessage( 15 )
    300 _confirm = VRMessage('WN_MAIN', NLSGetMessage( 203, device_name ), NLSGetMessage( 200 ), 'Q', '_btns.', 2, 2 )
    301 IF _confirm == 1 THEN DO
    302 success = DeletePrintDriver( _driver, _name )
    303 IF success == 1 THEN CALL RefreshDevices
    304 /* TODO check if any other _driver definitions exist and if not, offer to delete _driver files & profile */
    305 END
    241306
    242307RETURN
    739804LoadSettings: PROCEDURE EXPOSE globals.
    740805
    741 globals.!version = '0.3(削除) (削除ここまで)'
    806 globals.!version = '0.3(追記) 1 (追記ここまで)'
    742807 globals.!copyright = '2013'
    743808
    754819 cupsdrv = STRIP( cupsdrv, 'T', '\')
    755820 globals.!cupsdir = cupsdrv'\cups'
    756(削除) globals.!hascups = VRIsDir( globals.!cupsdir ) (削除ここまで)
    757821
    758822 /* Get system paths.
    11261190 CALL New_CUPS new_ppd
    11271191 CALL SW_IMPORT_Close
    1192(追記) CALL VRSet 'WN_MAIN', 'Shutdown', 1 (追記ここまで)
    11281193 RETURN
    11291194 END
    14181483/*:VRX PortDelete
    14191484*/
    1420PortDelete: PARSE ARG record
    1485PortDelete: PROCEDURE EXPOSE globals.
    1486 PARSE ARG record
    14211487 IF record == '' THEN DO
    14221488 ok = VRMethod( "CN_PORTS", "GetRecordList", "Selected", "recs." )
    14241490 record = recs.1
    14251491 END
    1492(追記) CALL VRMethod 'CN_PORTS', 'SetRecordAttr', record, 'Source', 0 (追記ここまで)
    14261493
    14271494 _name = VRMethod('CN_PORTS', 'GetFieldData', record, globals.!hcfPorts.!name )
    1495(追記) (追記ここまで)
    1496(追記) printers.0 = 0 (追記ここまで)
    1497(追記) CALL RPUEnumPrinters 'printers.' (追記ここまで)
    1498(追記) DO i = 1 TO printers.0 (追記ここまで)
    1499(追記) CALL RPUPrinterQuery printers.i.!name, 'details.' (追記ここまで)
    1500(追記) IF _name == details.!port THEN DO (追記ここまで)
    1501(追記) _title = TRANSLATE( printers.i.!description, ' ', '0d0a'x) (追記ここまで)
    1502(追記) CALL VRMessage 'WN_MAIN', NLSGetMessage( 206, _name, _title ), NLSGetMessage( 207 ), 'W' (追記ここまで)
    1503(追記) RETURN (追記ここまで)
    1504(追記) END (追記ここまで)
    1505(追記) END (追記ここまで)
    1506(追記) (追記ここまで)
    14281507 IF _name == '' THEN RETURN
    14291508 _btns.0 = 2
    14351514 IF success == 1 THEN CALL RefreshPorts
    14361515 END
    1437(削除) (削除ここまで)
    1438(削除) CALL VRMethod 'CN_PRINTERS', 'SetRecordAttr', record, 'Source', 0 (削除ここまで)
    14391516
    14401517RETURN
    14991576 IF _confirm == 1 THEN DO
    15001577 success = CupsDeletePrinter( cups_host, cups_queue )
    1501 IF success == 0 THEN (削除) (削除ここまで)
    1578 IF success == 0 THEN (追記) DO (追記ここまで)
    15021579 CALL RPUPortDelete _port
    1580(追記) CALL RefreshPorts (追記ここまで)
    1581(追記) END (追記ここまで)
    15031582 ELSE
    15041583 CALL VRMessage 'WN_MAIN', NLSGetMessage( 251, cups_queue, success ), NLSGetMessage( 18 ), 'E'
  • trunk/gui/printer/manager/printm_en.txt

    r37 r38
    218218PTM0204I: Printer "%1" points to the local CUPS queue "%2" via port %3. Delete this CUPS queue and port as well?
    219219PTM0205I: Add a new port of type %1?
    220PTM0206(削除) ?: (削除ここまで)
    221PTM0207(削除) ?: (削除ここまで)
    222PTM0208(削除) ?: (削除ここまで)
    223PTM0209(削除) ?: (削除ここまで)
    220PTM0206(追記) I: Port %1 cannot be deleted, as it is currently assigned to the printer "%2". (追記ここまで)
    221PTM0207(追記) I: Port In Use (追記ここまで)
    222PTM0208(追記) I: Driver "%1" cannot be deleted, as it is currently in use by the printer "%2". (追記ここまで)
    223PTM0209(追記) I: Device In Use (追記ここまで)
    224224PTM0210I: No Properties
    225225PTM0211I: There are no properties available for the port %1.
    226PTM0212(削除) ?: (削除ここまで)
    226PTM0212(追記) I: The IBMNULL driver cannot be deleted. (追記ここまで)
    227227PTM0213?:
    228228PTM0214?:
  • trunk/gui/shared/PrManUtl.VRS

    r33 r38
    491491 CALL VRSetIni 'PM_SPOOLER_DD', driver'.'model, driver'.DRV;;;'||'00'x, 'SYSTEM'
    492492 END
    493(追記) RETURN ok (追記ここまで)
    494(追記) (追記ここまで)
    495(追記) /*:VRX DeletePrintDriver (追記ここまで)
    496(追記) */ (追記ここまで)
    497(追記) /* Removes (that is to say, de-registers with the spooler) a PM printer (追記ここまで)
    498(追記) * device driver/model. (追記ここまで)
    499(追記) * (追記ここまで)
    500(追記) * driver - The name of the printerpak driver (without path or extension) (追記ここまで)
    501(追記) * model - The printer make/model name used by the driver (追記ここまで)
    502(追記) * (追記ここまで)
    503(追記) * Returns: 0 on success, 1 on error (追記ここまで)
    504(追記) */ (追記ここまで)
    505(追記) DeletePrintDriver: PROCEDURE EXPOSE globals. (追記ここまで)
    506(追記) PARSE ARG driver, model (追記ここまで)
    507(追記) (追記ここまで)
    508(追記) ok = VRDelIni('PM_SPOOLER_DD', driver'.'model, 'SYSTEM') (追記ここまで)
    493509RETURN ok
    494510
    807823RETURN success
    808824
    825(追記) /*:VRX StringTokenize (追記ここまで)
    826(追記) */ (追記ここまで)
    827(追記) StringTokenize: (追記ここまで)
    828(追記) PARSE ARG string, separator, __stem (追記ここまで)
    829(追記) CALL __StringTokenize string, separator, __stem (追記ここまで)
    830(追記) DROP __stem (追記ここまで)
    831(追記) RETURN (追記ここまで)
    832(追記) (追記ここまで)
    833(追記) /*:VRX __StringTokenize (追記ここまで)
    834(追記) */ (追記ここまで)
    835(追記) __StringTokenize: PROCEDURE EXPOSE (__stem) (追記ここまで)
    836(追記) PARSE ARG string, separator, tokens (追記ここまで)
    837(追記) (追記ここまで)
    838(追記) /* Note: this differs slightly from my usual implementation in that (追記ここまで)
    839(追記) * each token is STRIPped of leading and trailing spaces. (追記ここまで)
    840(追記) */ (追記ここまで)
    841(追記) (追記ここまで)
    842(追記) IF ( string = '') THEN RETURN string (追記ここまで)
    843(追記) IF ( separator = '') THEN separator = ' ' (追記ここまで)
    844(追記) (追記ここまで)
    845(追記) i = 0 (追記ここまで)
    846(追記) CALL VALUE tokens || '0', i (追記ここまで)
    847(追記) DO WHILE LENGTH( string ) > 0 (追記ここまで)
    848(追記) x = 1 (追記ここまで)
    849(追記) y = POS( separator, string, x ) (追記ここまで)
    850(追記) IF y > 0 THEN DO (追記ここまで)
    851(追記) current = SUBSTR( string, 1, y-1 ) (追記ここまで)
    852(追記) x = y + 1 (追記ここまで)
    853(追記) i = i + 1 (追記ここまで)
    854(追記) CALL VALUE tokens || 'i', STRIP( current ) (追記ここまで)
    855(追記) END (追記ここまで)
    856(追記) ELSE DO (追記ここまで)
    857(追記) current = STRIP( string, 'B', separator ) (追記ここまで)
    858(追記) i = i + 1 (追記ここまで)
    859(追記) CALL VALUE tokens || 'i', STRIP( current ) (追記ここまで)
    860(追記) x = LENGTH( string ) + 1 (追記ここまで)
    861(追記) END (追記ここまで)
    862(追記) string = SUBSTR( string, x ) (追記ここまで)
    863(追記) END (追記ここまで)
    864(追記) CALL VALUE tokens || '0', i (追記ここまで)
    865(追記) (追記ここまで)
    866(追記) RETURN (追記ここまで)
    867(追記) (追記ここまで)
  • trunk/gui/shared/PrintUtl.VRS

    r27 r38
    182182 printer_name = TRANSLATE( printer_name, '_', '.')
    183183
    184 printer_drv = globals.!(削除) bootdrv'\OS2 (削除ここまで)\DLL\'driver_name'\'driver_name'.DRV'
    184 printer_drv = globals.!(追記) os2dir' (追記ここまで)\DLL\'driver_name'\'driver_name'.DRV'
    185185 /* ?? TODO: install driver_name if not found (prompt first) ?? */
    186186
    535535 WHEN LEFT( line, 18 ) == '*StpResolutionMap:' THEN NOP
    536536 WHEN LEFT( line, 14 ) == '*OPOptionHints' THEN NOP
    537(追記) WHEN LEFT( line, 4 ) == '*da.' THEN NOP (追記ここまで)
    537538 WHEN LEFT( line, 4 ) == '*de.' THEN NOP
    538539 WHEN LEFT( line, 4 ) == '*es.' THEN NOP
    540(追記) WHEN LEFT( line, 4 ) == '*fi.' THEN NOP (追記ここまで)
    539541 WHEN LEFT( line, 4 ) == '*fr.' THEN NOP
    540542 WHEN LEFT( line, 4 ) == '*it.' THEN NOP
    541543 WHEN LEFT( line, 4 ) == '*ja.' THEN NOP
    542544 WHEN LEFT( line, 4 ) == '*ko.' THEN NOP
    545(追記) WHEN LEFT( line, 4 ) == '*nb.' THEN NOP (追記ここまで)
    543546 WHEN LEFT( line, 4 ) == '*nl.' THEN NOP
    544547 WHEN LEFT( line, 4 ) == '*pt.' THEN NOP
    581584 PARSE UPPER ARG driver_name, printer_name
    582585 printer_name = TRANSLATE( printer_name, '_', '.')
    583 printer_drv = globals.!(削除) bootdrv'\OS2 (削除ここまで)\DLL\'driver_name'\'driver_name'.DRV'
    586 printer_drv = globals.!(追記) os2dir' (追記ここまで)\DLL\'driver_name'\'driver_name'.DRV'
    584587 models.0 = 0
    585588
Note: See TracChangeset for help on using the changeset viewer.

AltStyle によって変換されたページ (->オリジナル) /