Ignore:
Timestamp:
Nov 4, 2011, 8:32:10 AM (14 years ago)
Author:
Alex Taylor
Message:

Add support for drivers other than ECUPS.DRV.

File:
1 edited

Legend:

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

    r10 r11  
    282282    IF create_os2 == 1 THEN DO
    283283
    284         /* Make sure ECUPS.DRV has the printer */
     284        /* Make sure the presentation driver supports the printer */
    285285        IF globals.!mode == 2 THEN DO
    286286            /* Always (re)import when a PPD is provided by the user
    287287             */
    288             ok = ImportPPD('ECUPS', globals.!prt_ppd )
     288            ok = ImportPPD( globals.!os2driver, globals.!prt_ppd )
    289289            IF ok <> 0 THEN DO
    290290                CALL LINEOUT globals.!log1, 'PPD import failed:' ok
     
    292292            END
    293293        END
    294         ELSE IF PrinterExistsInDRV('ECUPS', globals.!prt_nick ) == 0 THEN DO
     294        ELSE IF PrinterExistsInDRV( globals.!os2driver, globals.!prt_nick ) == 0 THEN DO
    295295            IF globals.!prt_ppd == '' THEN
    296296                CALL PromptForPMName
    297297            ELSE DO
    298                 ok = ImportPPD('ECUPS', globals.!prt_ppd )
     298                ok = ImportPPD(globals.!os2driver, globals.!prt_ppd )
    299299                IF ok <> 0 THEN DO
    300300                    CALL LINEOUT globals.!log1, 'PPD import failed:' ok
     
    304304        END
    305305
    306         ok = CreateOS2Printer('ECUPS')
     306        ok = CreateOS2Printer( globals.!os2driver )
    307307        IF ok <> 0 THEN
    308308            RETURN 3                    /** RC=3  Error running rinstprn **/
     
    331331            show_user  = 1
    332332            show_pass  = 0
     333            /* CALL VRSet 'DT_USERID', 'Caption', 'User ID (if required):' */
    333334        END
    334335        WHEN which == 4 THEN DO     /* SMB */
     
    336337            show_user  = 1
    337338            show_pass  = 1
     339            /* CALL VRSet 'DT_QUEUE', 'Caption', 'Shared printer name:' */
    338340        END
    339341        OTHERWISE DO                /* CUPS */
     
    920922    create_os2 = VRGet('CHK_CREATEPM', 'Set')
    921923    globals.!os2printer = create_os2
     924    globals.!os2driver  = VRGet('DDCB_PRESDRV', 'SelectedString')
    922925    globals.!create = 1
    923926
     
    11071110            /* TODO support other drivers
    11081111             */
    1109             globals.!os2driver = 'ECUPS'
     1112            IF WORD( globals.!prt_nick, 1 ) == 'Apollo' |,
     1113               WORD( globals.!prt_nick, 1 ) == 'HP' |,
     1114               WORD( globals.!prt_nick, 1 ) == 'Hewlett-Packard' THEN
     1115                globals.!os2driver = 'ECUPS-HP'
     1116            ELSE
     1117                globals.!os2driver = 'ECUPS'
    11101118
    11111119            CALL ConfirmAndCreate
     
    12681276    CALL VRSet 'EF_CRDESC', 'Value', globals.!prt_info
    12691277
     1278    IF QueryAvailableDrivers() > 0 THEN DO
     1279        def_idx = 1
     1280        CALL VRMethod 'DDCB_PRESDRV', 'AddStringList', 'drv_list.'
     1281        DO i = 1 TO drv_list.0
     1282            IF drv_list.i == globals.!os2driver THEN DO
     1283                def_idx = i
     1284                LEAVE
     1285            END
     1286        END
     1287        CALL VRSet 'DDCB_PRESDRV', 'Selected', def_idx
     1288    END
     1289    /* TODO give an error if no drivers were found */
     1290
    12701291    window = VRInfo( "Object" )
    12711292    if( \VRIsChildOf( window, "Notebook" ) ) then do
Note: See TracChangeset for help on using the changeset viewer.