Changeset 11


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

Add support for drivers other than ECUPS.DRV.

Location:
trunk/gui
Files:
6 edited

Legend:

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

    r8 r11  
    11VX-REXX OS/2 V2.14 Build B3
    22VRX: cupswiz.VRX
    3 MacroPath: VRM:g:\netlabs\svn\ecups\trunk\gui\printer\cupswiz
     3MacroPath: VRM:G:\netlabs\svn\ecups\trunk\gui\printer\cupswiz
    44EXEPath:
    55RunParameters: f:\cups
    66RunDirectory:
    7 VRXWindow: __VREMainWindow,1,2409,2554,5770,9106
    8 VRXWindow: __VRESectionListWindow,1,2481,11708,4529,3891
    9 VRXWindow: __VREToolsWindow,1,3481,9781,4968,1665
    10 VRXWindow: __VREWindListWindow,1,7022,11708,2650,3891
     7VRXWindow: __VREMainWindow,1,602,2554,5770,9106
     8VRXWindow: __VRESectionListWindow,1,662,11804,4529,3891
     9VRXWindow: __VREToolsWindow,1,1674,9877,4989,1667
     10VRXWindow: __VREWindListWindow,1,5215,11804,2650,3891
    1111UserFile: 1
    1212UserWindow: WN_MAIN,1
    1313UserWindow: SW_NETWORK,1
    1414UserWindow: SW_CREATE,1
     15UserWindow: SW_MODEL,1
  • 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
  • trunk/gui/printer/cupswiz/readme.1st

    r9 r11  
    11CUPSWIZ - prototype CUPS printer-creation wizard
    2 Test release 2
     2Test release x
    33
    44Make sure cupsport.exe is either in the current directory or in the PATH.
     
    2222Current limitations:
    2323 - The CUPS printer is always created with default job options.
    24  - Currently only ECUPS.DRV is supported (not ECUPS-HP.DRV).
    2524 - The GUI is still somewhat unpolished.  All printer models are currently
    2625   displayed in one massive list (not broken down by manufacturer yet).
  • trunk/gui/printer/cupswiz/todo

    r9 r11  
    22- Ditto for gzip.exe, rinstprn.exe and cupsport.exe
    33- Split first-page printer list into manufacturer-model lists.
    4 - Check if (mode 1) printer is HP-LIP and use ECUPS-HP instead.
    54- Use OS2.INI eCups::CUPS ||'\cups' for cups path if found.
    65- How to support total remote CUPS (i.e. no local CUPS install)?
  • trunk/gui/shared/PrintUtl.VRS

    r10 r11  
    419419*/
    420420/* Clean out lines from Gutenprint and Foomatic PPD files that are known to
    421  * cause problems when importing with PIN.  (Partially based on work Paul
     421 * cause problems when importing with PIN.  (Partially based on work by Paul
    422422 * Smedley and Peter Brown).
    423423 */
     
    528528*/
    529529RETURN best
     530
     531/*:VRX         QueryAvailableDrivers
     532*/
     533/* Determine which of our supported PrinterPak drivers are currently available.
     534 */
     535QueryAvailableDrivers: PROCEDURE EXPOSE globals. drv_list.
     536    drv_list.0 = 0
     537
     538    test_drivers = 'ECUPS ECUPS-HP PSPRINT'
     539    DO i = 1 TO WORDS( test_drivers )
     540        driver = WORD( test_drivers, i )
     541        ok = GetDriverSource( driver )
     542        IF ok == '' THEN
     543            ok = VRGetIni('PM_DEVICE_DRIVERS', driver, 'USER')
     544        IF ok <> '' THEN
     545            CALL SysStemInsert 'drv_list.', drv_list.0+1, driver
     546    END
     547
     548RETURN drv_list.0
     549
Note: See TracChangeset for help on using the changeset viewer.