Context Navigation


Changeset 58


Ignore:
Timestamp:
Jul 15, 2017, 1:19:09 PM (8 years ago)
Author:
Alex Taylor
Message:

Incremented version to 0.7.
Fix population of shipped driver list when opening Install Driver dialog.
Fix installation of non-PostScript drivers from Drivers tab (parsing of DFFF EA type).
Refresh properly when deleting the only printer, driver, or port.
Add 'ArcaOS' to branding logic.
Added more logging (still needs work).

Location:
trunk/gui
Files:
4 edited

Legend:

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

    r57 r58
    44MacroPath: VRM:E:\DEVELOPMENT\VXREXX\Projects\PrintTool
    55EXEPath: E:\Development\VXREXX\Projects\PrintTool\PRINTMAN.EXE
    6RunParameters: (削除) (削除ここまで)
    6RunParameters: (追記) /D (追記ここまで)
    77RunDirectory:
    8VRXWindow: __VREMainWindow,1,(削除) 506,4095 (削除ここまで),6697,8046
    9VRXWindow: __VRESectionListWindow,1,(削除) 614 (削除ここまで),16044,4204,4059
    10VRXWindow: __VREToolsWindow,1,(削除) 638,14309,5469,1665 (削除ここまで)
    11VRXWindow: __VREWindListWindow,1,(削除) 4854 (削除ここまで),16044,3505,4059
    8VRXWindow: __VREMainWindow,1,(追記) 687,4192 (追記ここまで),6697,8046
    9VRXWindow: __VRESectionListWindow,1,(追記) 795 (追記ここまで),16044,4204,4059
    10VRXWindow: __VREToolsWindow,1,(追記) 819,14309,5469,1661 (追記ここまで)
    11VRXWindow: __VREWindListWindow,1,(追記) 5035 (追記ここまで),16044,3505,4059
    1212UserFile: 1
    1313UserWindow: WN_MAIN,1
  • trunk/gui/printer/manager/PRINTOOL.VRX

    r57 r58
    277277*/
    278278DDCB_DEVICE_3RDPARTY_Click: PROCEDURE EXPOSE globals. shipped.
    279(追記) IF VRGet('DDCB_DEVICE_3RDPARTY', 'Enabled') == 0 THEN RETURN (追記ここまで)
    280(追記) (追記ここまで)
    279281 new_path = TRANSLATE( STRIP( VRGet('DDCB_DEVICE_3RDPARTY', 'SelectedString')))
    280282 IF new_path == '' THEN RETURN
    289291*/
    290292DDCB_DEVICE_3RDPARTY_Verify: PROCEDURE EXPOSE globals. shipped.
    293(追記) IF VRGet('DDCB_DEVICE_3RDPARTY', 'Enabled') == 0 THEN RETURN (追記ここまで)
    294(追記) (追記ここまで)
    291295 old_path = VRGet('DDCB_DEVICE_3RDPARTY', 'UserData')
    292296 new_path = TRANSLATE( STRIP( VRGet('DDCB_DEVICE_3RDPARTY', 'Value')))
    363367 IF _confirm == 1 THEN DO
    364368 success = DeletePrintDriver( _driver, _name )
    369(追記) CALL LINEOUT globals.!log1, 'Deleting installed driver' device_name':' success (追記ここまで)
    365370 IF success == 1 THEN CALL RefreshDevices
    371(追記) (追記ここまで)
    366372 /* TODO check if any other _driver definitions exist and if not, offer to delete _driver files & profile */
    367373 END
    382388 IF globals.!prdrv == '' THEN RETURN 0
    383389
    384 IF globals.!is_ecs == 1 THEN _osname = 'eComStation'
    390 IF globals.!oem_os == 1 THEN _osname = 'eComStation'
    391 ELSE IF globals.!oem_os == 2 THEN _osname = 'ArcaOS'
    385392 ELSE _osname = 'OS/2'
    386393
    499506 shipped.0 = count
    500507 CALL VRSortStem 'shipped.'
    508(追記) (追記ここまで)
    509(追記) CALL LINEOUT globals.!log1, 'Enumerated' count 'shipped printer devices.' (追記ここまで)
    501510
    502511RETURN count
    902911LoadSettings: PROCEDURE EXPOSE globals.
    903912
    904 globals.!version = '0.(削除) 61 (削除ここまで)'
    913 globals.!version = '0.(追記) 7 (追記ここまで)'
    905914 globals.!copyright = '2013-2017'
    906915
    960969 /* Determine the OS.
    961970 */
    971(追記) globals.!oem_os = 0 (追記ここまで)
    972(追記) oem_osdir = VALUE('OSDIR',,'OS2ENVIRONMENT') (追記ここまで)
    973(追記) IF oem_osdir == '' THEN oem_osdir = globals.!os2dir (追記ここまで)
    962974 IF VRFileExists( globals.!os2dir'\INSTALL\SYSLEVEL.ECS') THEN
    963 globals.!is_ecs = 1
    964 ELSE
    965 globals.!is_ecs = 0
    975 globals.!oem_os = 1
    976 IF VRFileExists( oem_osdir'\INSTALL\INSTALL.FLG') THEN DO
    977 PARSE VALUE LINEIN( oem_osdir'\INSTALL\INSTALL.FLG') WITH p_os p_release p_nlv .
    978 CALL STREAM oem_osdir'\INSTALL\INSTALL.FLG', 'C', 'CLOSE'
    979 IF p_os == 'ArcaOS' THEN globals.!oem_os = 2
    980 END
    966981
    967982 globals.!create_mode = ''
    18011816 _confirm = VRMessage('WN_MAIN', NLSGetMessage( 202, _name ), NLSGetMessage( 200 ), 'Q', '_btns.', 2, 2 )
    18021817 IF _confirm == 1 THEN DO
    1818(追記) CALL LINEOUT globals.!log1, 'Deleting port' _name (追記ここまで)
    18031819 success = RPUPortDelete( _name )
    1804 IF success == 1 THEN CALL RefreshPorts
    1820 IF success <> 1 THEN CALL LINEOUT globals.!log1, 'Error deleting port:' RPUERROR
    1821 CALL RefreshPorts
    18051822 END
    18061823
    18511868 _confirm = VRMessage('WN_MAIN', NLSGetMessage( 201, _title ), NLSGetMessage( 200 ), 'Q', '_btns.', 2, 2 )
    18521869 IF _confirm == 1 THEN DO
    1853 IF _queue == '' THEN
    1870
    1871 IF _queue == '' THEN DO
    1872 CALL LINEOUT globals.!log1, 'Printer' _device '(no queue) will be deleted.'
    18541873 success = RPUDeviceDelete( _device )
    1855 ELSE
    1874 END
    1875 ELSE DO
    1876 CALL LINEOUT globals.!log1, 'Printer' _device 'with queue' _queue 'will be deleted.'
    18561877 success = RPUPrinterDelete( _queue )
    1878(追記) END (追記ここまで)
    1879(追記) CALL LINEOUT globals.!log1, 'Deletion status:' success (追記ここまで)
    1880(追記) (追記ここまで)
    18571881 CALL RPUPortInfo _port, 'port.'
    18581882 IF port.!driver == 'CUPS' THEN DO
    18661890 PARSE VAR _cups_queue cups_queue '00'x .
    18671891 IF ( TRANSLATE( cups_host ) == 'LOCALHOST') | cups_host = '127.0.0.1' THEN DO
    1892(追記) CALL LINEOUT globals.!log1, 'Printer points to local CUPS queue' cups_queue 'via port:' _port (追記ここまで)
    18681893 _confirm = VRMessage('WN_MAIN', NLSGetMessage( 204, _title, cups_queue, _port ),,
    18691894 NLSGetMessage( 200 ), 'Q', '_btns.', 2, 2 )
    18701895 IF _confirm == 1 THEN DO
    1896(追記) CALL LINEOUT globals.!log1, 'Deleting CUPS printer' cups_queue 'on host' cups_host'.' (追記ここまで)
    18711897 success = CupsDeletePrinter( cups_host, cups_queue )
    1898(追記) CALL LINEOUT globals.!log1, 'CUPS deletion status:' success (追記ここまで)
    18721899 IF success == 0 THEN DO
    18731900 CALL RPUPortDelete _port
    20402067
    20412068 ok = RPUEnumDrivers('drivers.')
    2069(追記) CALL LINEOUT globals.!log1, 'Enumerating drivers:' ok (追記ここまで)
    2070(追記) (追記ここまで)
    2071(追記) CALL VRSet 'CN_DEVICES', 'Painting', 0 (追記ここまで)
    2072(追記) CALL VRMethod 'CN_DEVICES', 'RemoveRecord', 'All' (追記ここまで)
    2073(追記) (追記ここまで)
    20422074 IF rc <> 0 THEN DO
    2043 CALL VRSet 'CN_DEVICES', 'Painting', 0
    2044 CALL VRMethod 'CN_DEVICES', 'RemoveRecord', 'All'
    2075 CALL LINEOUT globals.!log1, drivers.0 'drivers found.'
    20452076 DO i = 1 TO drivers.0
    20462077 PARSE VAR drivers.i _pdrv'.'_model
    20562087 DROP drivers.
    20572088 DROP driverinfo.
    2058 (削除) CALL VRSet 'CN_DEVICES', 'Painting', 1 (削除ここまで)
    2059 (削除) END (削除ここまで)
    2089 (追記) END (追記ここまで)
    2090 (追記) CALL VRSet 'CN_DEVICES', 'Painting', 1 (追記ここまで)
    20602091
    20612092RETURN
    20662097
    20672098 ok = RPUEnumPorts('ports.')
    2099(追記) CALL LINEOUT globals.!log1, 'Enumerating ports:' ok (追記ここまで)
    2100(追記) (追記ここまで)
    2101(追記) CALL VRSet 'CN_PORTS', 'Painting', 0 (追記ここまで)
    2102(追記) CALL VRMethod 'CN_PORTS', 'RemoveRecord', 'All' (追記ここまで)
    2103(追記) (追記ここまで)
    20682104 IF rc <> 0 THEN DO
    2069 CALL VRSet 'CN_PORTS', 'Painting', 0
    2070 CALL VRMethod 'CN_PORTS', 'RemoveRecord', 'All'
    2105 CALL LINEOUT globals.!log1, ports.0 'ports found.'
    20712106 DO i = 1 TO ports.0
    20722107 PARSE VAR ports.i _name _driver _path
    20962131 DROP ports.
    20972132 DROP portinfo.
    2098 (削除) CALL VRSet 'CN_PORTS', 'Painting', 1 (削除ここまで)
    2099 (削除) END (削除ここまで)
    2133 (追記) END (追記ここまで)
    2134 (追記) CALL VRSet 'CN_PORTS', 'Painting', 1 (追記ここまで)
    21002135
    21012136RETURN
    21052140RefreshPrinters: PROCEDURE EXPOSE globals.
    21062141 ok = RPUEnumPrinters('printers.')
    2142(追記) CALL LINEOUT globals.!log1, 'Enumerating printers:' ok (追記ここまで)
    2143(追記) (追記ここまで)
    2144(追記) CALL VRSet 'CN_PRINTERS', 'Painting', 0 (追記ここまで)
    2145(追記) CALL VRMethod 'CN_PRINTERS', 'RemoveRecord', 'All' (追記ここまで)
    2146(追記) (追記ここまで)
    21072147 IF ok <> 0 THEN DO
    2108 CALL VRSet 'CN_PRINTERS', 'Painting', 0
    2109 CALL VRMethod 'CN_PRINTERS', 'RemoveRecord', 'All'
    2148 CALL LINEOUT globals.!log1, printers.0 'printers found.'
    21102149
    21112150 DO i = 1 TO printers.0
    21452184 DROP details.
    21462185
    2147 (削除) CALL VRSet 'CN_PRINTERS', 'Painting', 1 (削除ここまで)
    2148 (削除) END (削除ここまで)
    2186 (追記) END (追記ここまで)
    2187 (追記) CALL VRSet 'CN_PRINTERS', 'Painting', 1 (追記ここまで)
    21492188
    21502189RETURN
    21592198
    21602199 IF VRGet('RB_DEVICE_SHIPPED', 'Set') == 1 THEN DO
    2200(追記) CALL LINEOUT globals.!log1, 'Refreshing shipped driver list ('shipped.0' devices).' (追記ここまで)
    21612201 CALL VRMethod 'CN_DEVICE_LIST', 'AddRecordList',,, 'shipped.'
    21622202 END
    21652205 driver_path = TRANSLATE( STRIP( VRGet('DDCB_DEVICE_3RDPARTY', 'Value')))
    21662206 IF driver_path <> '' THEN DO
    2207(追記) CALL LINEOUT globals.!log1, 'Refreshing third-party driver list for' driver_path'.' (追記ここまで)
    21672208 drivers.0 = 0
    21682209 _total = 0
    22092250 */
    22102251 execPath = VRGet('Application', 'Program')
    2211 execDir = VRParseFileName( execPath, 'DP')
    2252 IF execPath <> '' THEN
    2253 execDir = VRParseFileName( execPath, 'DP')
    2254 ELSE
    2255 execDir = DIRECTORY()
    22122256
    22132257 /*
    23202364SW_ABOUT_Init: PROCEDURE EXPOSE globals.
    23212365
    2322 IF globals.!(削除) is_ec (削除ここまで)s == 1 THEN
    2366 IF globals.!(追記) oem_o (追記ここまで)s == 1 THEN
    23232367 _platform = 'eComStation'
    23242368 ELSE
    23832427 fld_driver = VRMethod('CN_DEVICE_LIST', 'AddField', 'String', NLSGetMessage( 266 ), 'DRIVER')
    23842428
    2385 IF globals.!(削除) is_ec (削除ここまで)s == 1 THEN
    2429 IF globals.!(追記) oem_o (追記ここまで)s == 1 THEN
    23862430 _platform = 'eComStation'
    2431(追記) ELSE IF globals.!oem_os == 2 THEN (追記ここまで)
    2432(追記) _platform = 'ArcaOS' (追記ここまで)
    23872433 ELSE
    23882434 _platform = 'OS/2'
    24302476
    24312477 IF GetShippedDrivers() > 0 THEN DO
    2432/* CALL VRMethod 'CN_DEVICE_LIST', 'AddRecordList',,, 'shipped.' */
    2478/*
    2479 CALL VRSet 'RB_DEVICE_SHIPPED', 'Set', 1
    2480*/
    2481 CALL VRMethod 'CN_DEVICE_LIST', 'AddRecordList',,, 'shipped.'
    24332482 END
    24342483
  • trunk/gui/shared/PrManUtl.VRS

    r51 r58
    1111 drv_path = STREAM( drv_path, 'C', 'QUERY EXISTS')
    1212RETURN drv_path
    13(追記) (追記ここまで)
    14(追記) (追記ここまで)
    15(追記) /*:VRX GetDriverFileList (追記ここまで)
    16(追記) */ (追記ここまで)
    17(追記) GetDriverFileList: PROCEDURE (追記ここまで)
    18(追記) PARSE ARG eaname, driver (追記ここまで)
    19(追記) filelist = '' (追記ここまで)
    20(追記) (追記ここまで)
    21(追記) /* Read the list of required driver files from the EAs, and copy them (追記ここまで)
    22(追記) * all to the target directory. (追記ここまで)
    23(追記) */ (追記ここまで)
    24(追記) IF SysGetEA( driver, eaname, 'reqfiles') == 0 THEN DO (追記ここまで)
    25(追記) PARSE VAR reqfiles 1 eatype 3 . (追記ここまで)
    26(追記) eatype = C2X( eatype ) (追記ここまで)
    27(追記) (追記ここまで)
    28(追記) IF eatype == 'FDFF' THEN DO /* Single ASCII value from byte 5 */ (追記ここまで)
    29(追記) PARSE VAR reqfiles 5 filelist (追記ここまで)
    30(追記) END (追記ここまで)
    31(追記) ELSE IF eatype = 'DEFF' THEN DO /* Single-type list from byte 7 */ (追記ここまで)
    32(追記) PARSE VAR reqfiles 7 fl_type 9 fl_items (追記ここまで)
    33(追記) (追記ここまで)
    34(追記) /* Parse the first value out of the list. The first two bytes are the (追記ここまで)
    35(追記) * length of the value. (追記ここまで)
    36(追記) */ (追記ここまで)
    37(追記) PARSE VAR fl_items 1 i_len 3 i_val (追記ここまで)
    38(追記) len = C2D( REVERSE( i_len )) (追記ここまで)
    39(追記) filelist = SUBSTR( i_val, 1, len ) (追記ここまで)
    40(追記) END (追記ここまで)
    41(追記) ELSE IF eatype = 'DFFF' THEN DO /* Multi-type list from byte 7 */ (追記ここまで)
    42(追記) PARSE VAR reqfiles 7 fl_items (追記ここまで)
    43(追記) (追記ここまで)
    44(追記) /* Parse the first value out of the list. The first two bytes are the (追記ここまで)
    45(追記) * data type; this should always be ASCII ('FDFF') so we can skip it. (追記ここまで)
    46(追記) * The following word holds the length of the value. (追記ここまで)
    47(追記) */ (追記ここまで)
    48(追記) PARSE VAR fl_items 3 i_len 5 i_val (追記ここまで)
    49(追記) len = C2D( REVERSE( i_len )) (追記ここまで)
    50(追記) filelist = SUBSTR( i_val, 1, len ) (追記ここまで)
    51(追記) END (追記ここまで)
    52(追記) filelist = TRANSLATE( filelist, ' ', ',') (追記ここまで)
    53(追記) END (追記ここまで)
    54(追記) (追記ここまで)
    55(追記) RETURN filelist (追記ここまで)
    1356
    1457
    244287 * all to the target directory.
    245288 */
    289(追記) /**** OLD (追記ここまで)
    246290 IF SysGetEA( driver, 'REQUIREDDRIVERFILES', 'reqfiles') == 0 THEN DO
    247291 PARSE VAR reqfiles 5 filelist
    255299 DROP filelist
    256300 END
    301(追記) ****/ (追記ここまで)
    302(追記) filelist = GetDriverFileList('REQUIREDDRIVERFILES', driver ) (追記ここまで)
    303(追記) IF filelist <> '' THEN DO (追記ここまで)
    304(追記) DO i = 1 TO WORDS( filelist ) (追記ここまで)
    305(追記) copyfile = drv_dir'\' || WORD( filelist, i ) (追記ここまで)
    306(追記) ok = VRCopyFile( copyfile, newdrvdir'\' || WORD( filelist, i )) (追記ここまで)
    307(追記) CALL LINEOUT globals.!log1, ' -' copyfile '(REQUIRED):' ok (追記ここまで)
    308(追記) END (追記ここまで)
    309(追記) DROP copyfile (追記ここまで)
    310(追記) DROP filelist (追記ここまで)
    311(追記) END (追記ここまで)
    257312 ELSE RETURN 0
    258313
    259314 /* If there are optional files defined as well, try to copy those also.
    260315 */
    316(追記) /**** OLD (追記ここまで)
    261317 IF SysGetEA( driver, 'OPTIONALDRIVERFILES', 'reqfiles') == 0 THEN DO
    262318 PARSE VAR reqfiles 5 filelist
    265321 copyfile = drv_dir'\' || WORD( filelist, i )
    266322 IF STREAM( copyfile, 'C', 'QUERY EXISTS') == '' THEN ITERATE
    323(追記) ok = VRCopyFile( copyfile, newdrvdir'\' || WORD( filelist, i )) (追記ここまで)
    324(追記) CALL LINEOUT globals.!log1, ' -' copyfile '(OPTIONAL):' ok (追記ここまで)
    325(追記) END (追記ここまで)
    326(追記) DROP copyfile (追記ここまで)
    327(追記) DROP filelist (追記ここまで)
    328(追記) END (追記ここまで)
    329(追記) ****/ (追記ここまで)
    330(追記) filelist = GetDriverFileList('OPTIONALDRIVERFILES', driver ) (追記ここまで)
    331(追記) IF filelist <> '' THEN DO (追記ここまで)
    332(追記) DO i = 1 TO WORDS( filelist ) (追記ここまで)
    333(追記) copyfile = drv_dir'\' || WORD( filelist, i ) (追記ここまで)
    267334 ok = VRCopyFile( copyfile, newdrvdir'\' || WORD( filelist, i ))
    268335 CALL LINEOUT globals.!log1, ' -' copyfile '(OPTIONAL):' ok
Note: See TracChangeset for help on using the changeset viewer.

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