Changeset 27 for trunk/gui


Ignore:
Timestamp:
Apr 6, 2013, 11:21:51 PM (12 years ago)
Author:
Alex Taylor
Message:

Various minor fixes.

Location:
trunk/gui
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/printer/cupswiz/cupswiz.VRX

    r24 r27  
    142142    END
    143143
     144    /* Make sure CUPSPORT.EXE is installed.
     145     */
     146    port_exe = SysSearchPath('PATH', 'cupsport.exe')
     147    IF port_exe == '' THEN port_exe = STREAM( DIRECTORY() || '\cupsport.exe', 'C', 'QUERY EXISTS')
     148    IF port_exe == '' THEN DO
     149        CALL VRMessage VRWindow(), NLSGetMessage( 78, 'CUPSPORT.EXE'), NLSGetMessage( 79 ), 'E'
     150        CALL Quit
     151    END
     152
     153    /* Make sure PRNTOBJ.EXE is installed.
     154     */
     155    prntobj_exe = SysSearchPath('PATH', 'prntobj.exe')
     156    IF prntobj_exe == '' THEN prntobj_exe = STREAM( DIRECTORY() || '\prntobj.exe', 'C', 'QUERY EXISTS')
     157    IF prntobj_exe == '' THEN DO
     158        CALL VRMessage VRWindow(), NLSGetMessage( 78, 'PRNTOBJ.EXE'), NLSGetMessage( 79 ), 'E'
     159        CALL Quit
     160    END
     161
    144162RETURN
    145163
     
    276294    END
    277295
    278     /* Create a new CUPS port. */
    279     /* TODO currently this assumes that CUPS.PDR is already installed. */
     296    /* Create a new CUPS port.
     297    */
    280298    port_ok = AddPort_CUPS( port_name, host, printer )
    281299    IF port_ok > 1 THEN
     
    17141732    CALL NLSSetText 'SW_ABOUT',  'Caption', 10                                          /* 10: Product Information */
    17151733    CALL NLSSetText 'DT_ABOUT1', 'Caption', 11                                          /* 11: eCups Printer Install Utility */
    1716     CALL NLSSetText 'DT_ABOUT2', 'Caption', 12, '1.00'                                  /* 12: Version %1 */
     1734    CALL NLSSetText 'DT_ABOUT2', 'Caption', 12, '1.01'                                  /* 12: Version %1 */
    17171735    CALL NLSSetText 'DT_ABOUT3', 'Caption', 13, '2010, 2013'                            /* 13: (C) %1 Alex Taylor */
    17181736    CALL NLSSetText 'PB_ABOUT',  'Caption', 2                                           /* 10: Product Information */
  • trunk/gui/shared/PrintUtl.VRS

    r23 r27  
    126126 *   driver    - The fully-qualified filename of the printerpak driver
    127127 *   newdrvdir - The directory where the files will be copied; must exist
     128 *
     129 * Returns: 1 on success, 0 on failure
    128130 */
    129131CopyDriverToSource: PROCEDURE EXPOSE globals.
     
    324326 *   driverfull - The fully-qualified filename of the printerpak driver
    325327 *   model      - The printer make/model name used by the driver
     328 *
     329 * Returns: 0 on success, 1 on error
    326330 */
    327331InstallPrintDriver: PROCEDURE EXPOSE globals.
     
    330334    ok = 0
    331335    targetdir = globals.!os2dir'\DLL\'driver
    332     IF ( VRFileExists( targetdir'\'driver'.DRV') == 0 ) THEN DO
     336    targetdrv = targetdir'\'driver'.DRV'
     337    IF ( VRFileExists( targetdrv ) == 0 ) THEN DO
    333338        CALL VRMkDir targetdir
    334         ok = CopyDriverToSource( driverfull, targetdir )
    335         IF ok == 1 THEN ok = 0
    336     END
    337     IF VRGetIni('PM_DEVICE_DRIVERS', driver, 'USER', 'NoClose') <> driverfull THEN
    338         CALL VRSetIni 'PM_DEVICE_DRIVERS', driver, driverfull||'00'x, 'USER'
    339     CALL VRSetIni 'PM_SPOOLER_DD', driver'.'model, driver'.DRV;;;'||'00'x, 'SYSTEM'
     339        r = CopyDriverToSource( driverfull, targetdir )
     340        IF r <> 1 THEN ok = 1
     341    END
     342    IF ok == 0 THEN DO
     343        IF VRGetIni('PM_DEVICE_DRIVERS', driver, 'USER') <> targetdrv THEN
     344            CALL VRSetIni 'PM_DEVICE_DRIVERS', driver, targetdrv||'00'x, 'USER'
     345        CALL VRSetIni 'PM_SPOOLER_DD', driver'.'model, driver'.DRV;;;'||'00'x, 'SYSTEM'
     346    END
    340347RETURN ok
    341348
     
    345352/* Create the specified printer using SysCreateObject (this should create the
    346353 * queue automatically).
    347  */
    348 CreatePrinterObject: PROCEDURE
     354 *
     355 * Returns: 0 on success or non-zero return code on error.
     356 */
     357CreatePrinterObject: PROCEDURE EXPOSE globals.
    349358    PARSE ARG driver, model, portname, queuename, printername
    350359
     360    CALL LINEOUT globals.!log1, 'Creating new printer:' printername '('queuename')'
     361    ADDRESS CMD '@prntobj' queuename portname '"'driver'.'model'" "'printername'" >>' globals.!log2
     362/*
    351363    oid = '<WPPO_'queuename'>'
    352364    setup = 'PORTNAME='portname';PRINTDRIVER='driver'.'model';QUEUENAME='queuename';TAKEDEFAULTS=YES'
    353 
     365    CALL LINEOUT globals.!log1, 'Creating printer object "'printername'" with setup string "'setup';OBJECTID='oid';"'
    354366    ok = SysCreateObject('WPPrinter', printername, '<WP_DESKTOP>', setup';OBJECTID='oid';', 'F')
    355367    IF ok == 1 THEN
    356368        CALL SysMoveObject oid, '<WP_PRINTERSFOLDER>'
    357     ELSE
     369    ELSE DO
     370        CALL LINEOUT globals.!log1, ' - creation failed, trying again without object-ID ...'
    358371        ok = SysCreateObject('WPPrinter', printername, '<WP_DESKTOP>', setup';', 'F')
     372    END
    359373    IF ok == 1 THEN ok = 0
    360 
    361 RETURN ok
     374    ELSE DO
     375        CALL LINEOUT globals.!log1, ' - unable to create object!'
     376        ok = 1
     377    END
     378    CALL LINEOUT globals.!log1
     379*/
     380
     381RETURN rc
    362382
    363383
     
    515535            WHEN LEFT( line, 18 ) == '*StpResolutionMap:' THEN NOP
    516536            WHEN LEFT( line, 14 ) == '*OPOptionHints'     THEN NOP
     537            WHEN LEFT( line, 4 ) ==  '*de.'               THEN NOP
     538            WHEN LEFT( line, 4 ) ==  '*es.'               THEN NOP
     539            WHEN LEFT( line, 4 ) ==  '*fr.'               THEN NOP
     540            WHEN LEFT( line, 4 ) ==  '*it.'               THEN NOP
     541            WHEN LEFT( line, 4 ) ==  '*ja.'               THEN NOP
     542            WHEN LEFT( line, 4 ) ==  '*ko.'               THEN NOP
     543            WHEN LEFT( line, 4 ) ==  '*nl.'               THEN NOP
     544            WHEN LEFT( line, 4 ) ==  '*pt.'               THEN NOP
     545            WHEN LEFT( line, 4 ) ==  '*sv.'               THEN NOP
     546            WHEN LEFT( line, 7 ) ==  '*zh_CN.'            THEN NOP
     547            WHEN LEFT( line, 7 ) ==  '*zh_TW.'            THEN NOP
    517548            WHEN LEFT( line, 9  ) == '*Foomatic'          THEN DO
    518549                line = STRIP( line )
  • trunk/gui/util/cupsport/cupsport.c

    r8 r27  
    4949#define TYPE_LONG_WAIT   2
    5050#define BIDI_SET_PORTDRV 0x19
    51 
    52 #pragma import ( PrtSet,, "PMSPL", 604 )
    53 extern ULONG APIENTRY PrtSet( PSZ pszComputerName, PSZ pszDeviceName, ULONG ulType, ULONG ulCommand, PVOID pInData, ULONG cbInData );
    5451
    5552
     
    126123    strncpy( settings.szHost, pszHostName, STR_LEN_HOSTNAME );
    127124    strncpy( settings.szQueue, pszPrinterName, STR_LEN_QUEUENAME );
    128 #if 1
    129125    ulRC = pfn_CupsSet( pszPortName, TYPE_LONG_WAIT, BIDI_SET_PORTDRV,
    130126                        &settings, sizeof( settings ));
    131 #else
    132     ulRC = PrtSet( NULL, pszPortName, TYPE_LONG_WAIT, BIDI_SET_PORTDRV,
    133                    &settings, sizeof( settings ));
    134 #endif
    135127    if ( ulRC ) {
    136128        printf("Failed to update port settings, RC=0x%X.\n", ulRC );
  • trunk/gui/util/cupsport/readme.txt

    r8 r27  
    77BUILDING
    88
    9   No makefile at the moment, sorry.  Just compile cupsport.c directly, e.g.:
    10     icc cupsport.c
    11   Built using IBM VACPP 3.08; 3.65 will probably work as well.  Not tested
    12   with GCC or OW, but they might be OK too.
     9  No makefile at the moment, sorry.  Use BUILDICC.CMD to compile using IBM
     10  VACPP 3.08; 3.65 will probably work as well. 
     11
     12  Not tested with GCC or OW, but they should be fine for building with as
     13  long as you know how.
    1314
    1415
     
    2223  from an application.
    2324
    24   Without these updates, the created WPS printer object may not be useable
     25  Without these updates, the created WPS printer object may not be usable
    2526  for printing until after the WPS is restarted, as the CUPS port fails to
    2627  get initialized properly.  (You can tell when this happens if the printer
Note: See TracChangeset for help on using the changeset viewer.