home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 July & August / Pcwk78a98.iso / Wtestowe / Clico / DESKTOP / DISK1 / CONF_MV.MS_ / CONF_MV.MS
Text File  |  1997-04-08  |  37KB  |  1,680 lines

  1. ''***************************************************************************
  2. ''                  File : CONF_MV.MST
  3. ''***************************************************************************
  4.  
  5. ''***************************************************************************
  6. ''                  Function : GetDesktopConfigurationOptions
  7. ''***************************************************************************
  8.  
  9. SUB GetDesktopConfigurationOptions STATIC
  10.  
  11. STARTDESK:
  12.  
  13.     '' Call dialog box
  14.  
  15.     dialog_return$ = UIStartDlg(CUIDLL$, MDTOPTIONS, "Desktop",APPHELP, HELP_PROC$)
  16.  
  17.     SELECT CASE dialog_return$
  18.  
  19.     CASE REACTIVATE$
  20.  
  21.     '' Simply redisplay dialog
  22.  
  23.     GOTO STARTDESK
  24.  
  25.     CASE EXIT_VAL$
  26.  
  27.     '' Clear dialog but don't update selections
  28.  
  29.     UIPop 1
  30.  
  31.     CASE ELSE
  32.  
  33.     '' Remove dialog
  34.  
  35.     UIPop 1
  36.  
  37.     '' Flag size calculation
  38.  
  39.     g_update_desk% = TRUE%
  40.  
  41.     END SELECT
  42.  
  43. END SUB
  44.  
  45. '' End of function : GetDesktopConfigurationOptions
  46.  
  47. ''***************************************************************************
  48. ''                  Function : GetXConfigurationOptions
  49. ''***************************************************************************
  50.  
  51. SUB GetXConfigurationOptions STATIC
  52.  
  53. STARTXCONF:
  54.  
  55.     '' Call Xconfig options 
  56.  
  57.     dialog_return$ = UIStartDlg(CUIDLL$, XOPTIONS, "Xoption",APPHELP, HELP_PROC$)
  58.  
  59.     SELECT CASE dialog_return$
  60.  
  61.     CASE REACTIVATE$
  62.  
  63.     '' Simply redisplay dialog
  64.  
  65.     GOTO STARTXCONF
  66.  
  67.     CASE EXIT_VAL$
  68.  
  69.     '' Clear dialog but don't update selections
  70.  
  71.     UIPop 1
  72.  
  73.     CASE ELSE
  74.  
  75.     '' Assume Continue - get selections from check boxes, etc
  76.     '' Also validate path and so on
  77.  
  78.     '' Remove dialog
  79.  
  80.     UIPop 1
  81.  
  82.     '' Flag size calculation
  83.  
  84.     g_update_X% = TRUE%
  85.  
  86.     END SELECT
  87.  
  88. END SUB
  89.  
  90. '' End of function : GetXConfigurationOptions
  91.  
  92. ''***************************************************************************
  93. ''                  Function : GetNetworkConfigurationOptions
  94. ''***************************************************************************
  95.  
  96. SUB GetNetworkConfigurationOptions STATIC
  97.  
  98.     '' Display information dialog for Novell IPX/SPX - BFX375
  99.     '' Changed Dialoge Box NOVELL_IPXSPX to POPUP_MESSAGES - BFX441
  100.     
  101.     '' BFX445 Symbol for NovellIPXSPX = 1 using generic dialogue function PopupMessage now
  102.     SetSymbolValue "PopupSymbol", "1"   
  103.     dialog_return$ = UIStartDLg(CUIDLL$, POPUP_MESSAGE, "PopupMessage" ,APPHELP, HELP_PROC$)
  104.  
  105. STARTNET:
  106.  
  107.     '' Flag size calculation - cleared if cancelled
  108.  
  109.     g_update_net% = TRUE%
  110.  
  111.     '' Call Network options
  112.  
  113.     dialog_return$ = UIStartDlg(CUIDLL$, NETOPTIONS, "Network",APPHELP, HELP_PROC$)
  114.  
  115.     SELECT CASE dialog_return$
  116.  
  117.     CASE REACTIVATE$
  118.  
  119.     '' Simply redisplay dialog
  120.  
  121.     GOTO STARTNET
  122.  
  123.     CASE EXIT_VAL$
  124.  
  125.     '' Clear dialog but don't update selections
  126.  
  127.     UIPop 2
  128.  
  129.     '' Flag size calculation
  130.  
  131.     g_update_net% = FALSE%
  132.  
  133.     CASE TCPIP$
  134.  
  135.     '' Now get the correct configuration
  136.  
  137.     GetTCPIPSelection
  138.  
  139.     '' Check that all selections have been performed OK
  140.  
  141.     IF (TestConfigurationOptions% = TRUE%) THEN
  142.  
  143.     '' Clear network window dialog box
  144.  
  145.     UIPop 2
  146.  
  147.     ELSE
  148.  
  149.     '' Something has gone wrong - clear all flags. Note that
  150.     '' this will include a cancel from a lower dialog
  151.  
  152.     g_host_set%     = TRUE%
  153.     g_network_set%  = TRUE%
  154.     g_JSB_set%      = TRUE%
  155.     g_tcpip_ok%     = TRUE%
  156.  
  157.     '' Return to Network selection
  158.  
  159.     GOTO STARTNET
  160.  
  161.     ENDIF
  162.  
  163.     CASE ELSE
  164.  
  165.     '' Assume continue has been selected - get host name for system
  166.  
  167.     GetHostNameForSystem
  168.  
  169.     '' Check that all selections have been performed OK
  170.  
  171.     IF (TestConfigurationOptions% = TRUE%) THEN
  172.  
  173.     '' Clear network window dialog box
  174.  
  175.     UIPop 2
  176.  
  177.     ELSE
  178.  
  179.     '' Something has gone wrong - clear all flags. Note that
  180.     '' this will include a cancel from a lower dialog
  181.  
  182.     g_host_set%     = TRUE%
  183.     g_network_set%  = TRUE%
  184.     g_JSB_set%      = TRUE%
  185.     g_tcpip_ok%     = TRUE%
  186.  
  187.     '' Return to Network selection
  188.  
  189.     GOTO STARTNET
  190.  
  191.     ENDIF
  192.  
  193.     END SELECT
  194.  
  195. END SUB
  196.  
  197. '' End of function : GetNetworkConfigurationOptions
  198.  
  199. ''***************************************************************************
  200. ''                  Function : GetTCPIPSelection
  201. ''***************************************************************************
  202.  
  203. SUB GetTCPIPSelection STATIC
  204.  
  205. STARTTCPIP:
  206.  
  207.     '' Flag as a TCP-IP selection
  208.  
  209.     g_tcpip_ok% = FALSE%
  210.  
  211.     '' Call TCP-IP options
  212.  
  213.     dialog_return$ = UIStartDlg(CUIDLL$, TCPOPTIONS, "TCPOptions",APPHELP, HELP_PROC$)
  214.  
  215.     SELECT CASE dialog_return$
  216.  
  217.     CASE REACTIVATE$
  218.  
  219.     '' Simply redisplay dialog
  220.  
  221.     GOTO STARTTCPIP
  222.  
  223.     CASE EXIT_VAL$
  224.  
  225.     '' Clear dialog but don't update selections
  226.  
  227.     UIPop 1
  228.  
  229.     CASE JSBTCPIP$
  230.  
  231.     '' BFX530 Check for valid stack 
  232.  
  233.     F_Error$ = "No"
  234.  
  235.     CheckJSBOptionIsValid
  236.  
  237.     F_Error$ = GetSymbolValue("File_Error")
  238.  
  239.     IF F_Error$ = "Yes" THEN
  240.         
  241.         UIPop 1
  242.  
  243.         GOTO STARTTCPIP
  244.         
  245.         '' g_exit_flag% = EXIT_ERROR%
  246.  
  247.         '' Call exit procedure - this will exit regardless
  248.  
  249.         '' ExitDialog
  250.      
  251.     ELSE
  252.     
  253.     
  254.         '' Now get the correct configuration
  255.         
  256.         '' BFX524 Get position of net.cfg
  257.     
  258.         GetNET_CFGConfig
  259.  
  260.         '' BFX490 Tonyr We need to investigate the NET.CFG stuff here
  261.  
  262.         ReadNETCFGinformation
  263.  
  264.         GetJSBConfiguration
  265.  
  266.         IF ( (g_JSB_set% = FALSE%) OR (g_host_set% = FALSE%) ) THEN
  267.  
  268.         '' Redisplay the current dialog for TCP options - cancel
  269.         '' must have been chosen
  270.  
  271.         GOTO STARTTCPIP
  272.  
  273.         ENDIF
  274.  
  275.         '' Set flag as tcp is OK
  276.  
  277.         g_tcpip_ok% = TRUE%
  278.  
  279.     END IF
  280.         
  281.         '' Clear network window dialog box and return - all is OK
  282.  
  283.         UIPop 1
  284.  
  285.     CASE ELSE
  286.  
  287.     F_Error$ = "No"
  288.  
  289.     F_Error$ = GetSymbolValue("File_Error")
  290.  
  291.     IF F_Error$ = "Yes" THEN
  292.         
  293.         UIPop 1
  294.  
  295.         GOTO STARTTCPIP
  296.  
  297.     ELSE
  298.         
  299.         '' Get host name for system
  300.  
  301.         GetHostNameForSystem
  302.  
  303.         '' Ensure this is set
  304.  
  305.         IF (g_host_set% = FALSE%) THEN
  306.  
  307.         '' Redisplay the current dialog for TCP options - cancel
  308.         '' must have been chosen
  309.  
  310.         GOTO STARTTCPIP
  311.  
  312.         ENDIF
  313.  
  314.         '' Assume continue has been selected - remove dialog
  315.  
  316.         UIPop 1
  317.  
  318.     END IF
  319.  
  320.         '' Set flags as tcp is OK. Also JSB is not in use here, so in
  321.         '' case this was selected and cancelled the flag is cleared here
  322.  
  323.         g_tcpip_ok% = TRUE%
  324.         g_JSB_set%  = TRUE%
  325.  
  326.     
  327.  
  328.     END SELECT
  329.  
  330.  
  331. END SUB
  332.  
  333. '' End of function : GetTCPIPSelection
  334.  
  335. ''***************************************************************************
  336. ''                  Function : GetHostNameForSystem
  337. ''***************************************************************************
  338.  
  339. SUB GetHostNameForSystem STATIC
  340.  
  341. STARTHOST:
  342.  
  343.     '' Clear host name
  344.  
  345.     g_host_set = FALSE%
  346.  
  347.     '' Get symbol to indicate type of dialog required - is this a clear
  348.     '' installation of overlaying an existing MVIEW.INI file
  349.  
  350.     host_type$ = GetSymbolValue("HostType")
  351.  
  352.     '' Call Host Name dialog
  353.  
  354.     IF ( (host_type$ = "New") AND (g_first_inst% = TRUE%) ) THEN
  355.  
  356.     dialog_return$ = UIStartDlg(CUIDLL$, HOSTNAME, "SetHostName",APPHELP, HELP_PROC$)
  357.  
  358.     ELSE
  359.  
  360.     dialog_return$ = UIStartDlg(CUIDLL$, HOSTNAME2, "SetHostName2",APPHELP, HELP_PROC$)
  361.  
  362.     END IF
  363.  
  364.     SELECT CASE dialog_return$
  365.  
  366.     CASE REACTIVATE$
  367.  
  368.     '' Simply redisplay dialog
  369.  
  370.     GOTO STARTHOST
  371.  
  372.     CASE EXIT_VAL$
  373.  
  374.     '' Clear dialog but don't update selections
  375.  
  376.     UIPop 1
  377.  
  378.     CASE ELSE
  379.  
  380.     '' Host set OK
  381.  
  382.     g_host_set = TRUE%
  383.  
  384.     '' Assume continue has been selected - remove dialog
  385.  
  386.     UIPop 1
  387.  
  388.     END SELECT
  389.  
  390. END SUB
  391.  
  392. '' End of function : GetHostNameForSystem
  393.  
  394. ''***************************************************************************
  395. ''                  Function : GetJSBConfiguration
  396. ''***************************************************************************
  397.  
  398. SUB GetJSBConfiguration STATIC
  399.  
  400. STARTJSBCONF:
  401.  
  402.     '' Clear JSB flag
  403.  
  404.     g_JSB_set% = FALSE%
  405.  
  406.     '' Call JSB TCP-IP options 
  407.  
  408.     dialog_return$ = UIStartDlg(CUIDLL$, OURTCPOPTIONS, "JSBTCPOptions",APPHELP, HELP_PROC$)
  409.  
  410.     SELECT CASE dialog_return$
  411.  
  412.     CASE REACTIVATE$
  413.  
  414.     '' Simply redisplay dialog
  415.  
  416.     GOTO STARTJSBCONF
  417.  
  418.     CASE EXIT_VAL$
  419.  
  420.     '' Clear dialog but don't update selections
  421.  
  422.     UIPop 1
  423.  
  424.     '' BFX490 : Tonyr.  This option no longer exists.
  425.  
  426.     '' CASE CONNECT$
  427.  
  428.     '' Set connectivity options and reactivate
  429.  
  430.     '' GetJSBConnectivity
  431.  
  432.     '' GOTO STARTJSBCONF
  433.  
  434.     CASE ELSE
  435.  
  436.     '' Indicate that JSB TCP-IP has been configured OK - checking
  437.     '' may be added or done in dialog process
  438.  
  439.     g_JSB_set% = TRUE%
  440.  
  441.     '' BFX490 : This procedure has changed now.
  442.  
  443.     '' Get host name for system
  444.  
  445.     '' GetHostNameForSystem
  446.  
  447.     '' Get host address if host was set
  448.  
  449.     '' IF g_host_set% = TRUE% THEN
  450.  
  451.     '' HostAddressFunction
  452.  
  453.     '' END IF
  454.     
  455.     GetJSBConnectivity
  456.  
  457.     '' BFX532 (Rob O): If JSB connectivity box cancelled, need to redisplay this dialog
  458.  
  459.     IF g_b_jsb_connectivity% = FALSE% THEN
  460.     
  461.         GOTO STARTJSBCONF
  462.  
  463.         ELSE
  464.         
  465.         '' Assume continue has been selected - remove dialog
  466.     
  467.         UIPop 1
  468.             
  469.     ENDIF
  470.     
  471.     '' ...bfx532 (Rob O)
  472.     
  473.     '' BFX490 Finish
  474.  
  475.     END SELECT
  476.  
  477.     '' BFX530 : Display the Primary node dialogue box if Host was not selected
  478.  
  479.     F_Host$ = "Yes"
  480.  
  481.     F_Host$ = GetSymbolValue("Done_Host_File")
  482.  
  483.     IF F_Host$ = "No" THEN
  484.         
  485.         GetHostNameForSystem
  486.  
  487.     END IF
  488.  
  489. END SUB
  490.  
  491. '' End of function : GetJSBConfiguration
  492.  
  493. ''***************************************************************************
  494. ''                  Function : GetNET_CFGConfig
  495. ''***************************************************************************
  496.  
  497. SUB GetNET_CFGConfig STATIC
  498.  
  499. STARTNET_CFGCONF:
  500.  
  501.     '' Call JSB NET.CFG dialog
  502.  
  503.     dialog_return$ = UIStartDlg(CUIDLL$, NET_CFG, "GetNET_CFG",APPHELP, HELP_PROC$)
  504.  
  505.     SELECT CASE dialog_return$
  506.  
  507.     CASE REACTIVATE$
  508.  
  509.     '' Simply redisplay dialog
  510.  
  511.     GOTO STARTNET_CFGCONF
  512.  
  513.     CASE ELSE
  514.  
  515.     '' Assume continue has been selected - remove dialog
  516.  
  517.     UIPop 1
  518.  
  519.     END SELECT
  520.  
  521. END SUB
  522.  
  523. '' ...BFX524
  524.  
  525. '' End of function : GetNET_CFGConfig
  526.  
  527.  
  528. ''***************************************************************************
  529. ''                  Function : GetJSBConnectivity
  530. ''***************************************************************************
  531.  
  532. SUB GetJSBConnectivity STATIC
  533.  
  534. STARTJSBCONN:
  535.  
  536.     '' Call JSB Connectivity options
  537.  
  538.     dialog_return$ = UIStartDlg(CUIDLL$, CONNECTIVITY_DATA, "JSBConnectivity",APPHELP, HELP_PROC$)
  539.  
  540.     SELECT CASE dialog_return$
  541.  
  542.     CASE REACTIVATE$
  543.  
  544.     '' Simply redisplay dialog
  545.  
  546.     GOTO STARTJSBCONN
  547.  
  548.     CASE EXIT_VAL$
  549.  
  550.     '' Clear dialog but don't update selections
  551.  
  552.         '' BFX532 (Rob O): Note that dialog has been cancelled
  553.         
  554.         g_b_jsb_connectivity% = FALSE%
  555.         
  556.     UIPop 1
  557.  
  558.     CASE ELSE
  559.  
  560.     '' Assume continue has been selected - remove dialog
  561.  
  562.         '' BFX532 (Rob O): Note that dialog has been oked
  563.         
  564.         g_b_jsb_connectivity% = TRUE%
  565.  
  566.     UIPop 1
  567.  
  568.     END SELECT
  569.  
  570. END SUB
  571.  
  572. '' End of function : GetJSBConnectivity
  573.  
  574. ''***************************************************************************
  575. ''                  Function : TestConfigurationOptions
  576. ''***************************************************************************
  577.  
  578. FUNCTION TestConfigurationOptions% STATIC
  579.  
  580.     '' Clear all flags before testing
  581.  
  582.     test1% = FALSE%
  583.     test2% = FALSE%
  584.     TestConfigurationOptions% = FALSE%
  585.  
  586.     '' Test all flags set to OK - compiler didn't seem to process multiple
  587.     '' AND statements so they are split into pairs. Network set
  588.     '' isn't currently used but could easily be brought in if necessary
  589.  
  590.     IF  ((g_host_set% = TRUE%) AND (g_network_set% = TRUE%)) THEN
  591.  
  592.     test1% = TRUE%
  593.  
  594.     END IF
  595.  
  596.     IF ((g_JSB_set% = TRUE%)  AND (g_tcpip_ok% = TRUE%)) THEN
  597.  
  598.     test2% = TRUE%
  599.  
  600.     ENDIF
  601.  
  602.     IF ((test1% = TRUE%) AND (test2% = TRUE%)) THEN
  603.  
  604.     TestConfigurationOptions% = TRUE%
  605.  
  606.     ENDIF
  607.  
  608. END FUNCTION
  609.  
  610. '' End of function : TestConfigurationOptions
  611.  
  612. ''***************************************************************************
  613. ''                  Function : TestInstallationSetup
  614. ''***************************************************************************
  615.  
  616. FUNCTION TestInstallationSetup% STATIC
  617.  
  618.     '' Put on hourglass for re-calculation
  619.  
  620.     g_wait_cursor% = ShowWaitCursor()
  621.  
  622.     '' Set initial return to OK
  623.  
  624.     TestInstallationSetup% = TRUE%
  625.  
  626.     '' Start from zero copylist
  627.  
  628.     ClearCopyList
  629.  
  630.     '' Add all values to the copy list
  631.  
  632.     AddApplicationFiles
  633.     AddDesktopFiles
  634.     AddNetworkFiles
  635.     AddXFiles
  636.  
  637.     '' Set up individual cost values
  638.  
  639.     disk_overflow& = GetCopyListCost(EXTRA$, cost$, "")
  640.  
  641.     '' Set overflow status if applicable
  642.  
  643.     IF disk_overflow& > 0 THEN
  644.  
  645.     '' Set value in BIGLIST$ to TRUE
  646.  
  647.     TestInstallationSetup% = FALSE%
  648.  
  649.     ENDIF
  650.  
  651.     '' Go back to original
  652.  
  653.     IF g_wait_cursor% <> -1 THEN
  654.  
  655.     RestoreCursor g_wait_cursor%
  656.     g_wait_cursor% = -1
  657.  
  658.     END IF
  659.  
  660. END FUNCTION
  661.  
  662. '' End of function : TestInstallationSetup
  663.  
  664. ''***************************************************************************
  665. ''                  Function : CheckReconfigOption
  666. ''***************************************************************************
  667.  
  668. SUB CheckReconfigOption STATIC
  669.  
  670. STARTRECONFIG:
  671.  
  672.     '' Display query exit
  673.  
  674.     dialog_return$ = UIStartDlg(CUIDLL$, TOOBIG, "TooBig", 0, "")
  675.  
  676.     SELECT CASE dialog_return$
  677.  
  678.     CASE REACTIVATE$
  679.  
  680.     '' Simply redisplay dialog
  681.  
  682.     GOTO STARTRECONFIG
  683.  
  684.     CASE EXIT_VAL$
  685.  
  686.     '' Clear dialog
  687.  
  688.     UIPop 1
  689.  
  690.     '' Set exit flag to incomplete
  691.  
  692.     g_exit_flag% = EXIT_INCOMPLETE%
  693.  
  694.     '' Call exit procedure
  695.  
  696.     ExitDialog
  697.  
  698.     '' Clear error flag
  699.  
  700.     g_exit_flag% = EXIT_OK%
  701.  
  702.     '' Put in restart to function to enable user to choose again
  703.  
  704.     GOTO STARTRECONFIG
  705.  
  706.     CASE ELSE
  707.  
  708.     '' Clear dialog
  709.  
  710.     UIPop 1
  711.  
  712.     END SELECT '' For dialog returns
  713.  
  714. END SUB
  715.  
  716. '' End of function : CheckReconfigOption
  717.  
  718. ''***************************************************************************
  719. ''                  Function : AddDesktopFiles
  720. ''***************************************************************************
  721.  
  722. SUB AddDesktopFiles STATIC
  723.  
  724.     '' Pick off selections from the list - "DesktopOptions"
  725.  
  726.     i_list_num% = GetListLength("DesktopOptions")
  727.  
  728.     g_help_files% = FALSE
  729.  
  730.     '' Loop on all members of the list
  731.  
  732.     FOR i_loop% = 1 TO i_list_num% STEP 1
  733.  
  734.     '' Take off list of items being added
  735.  
  736.     active$ = GetListItem("DesktopOptions", i_loop%)
  737.     test$   = GetListItem("DesktopOptionsOrig", i_loop%)
  738.  
  739.     '' Test if this needs adding
  740.  
  741.     IF active$ = "Yes" AND test$ = "No" THEN
  742.  
  743.     '' Add this to global file list
  744.  
  745.     num$ = LTRIM$(STR$(i_loop%))
  746.  
  747.     '' Check if section to be added is for the help files
  748.  
  749.     '' BFX548 Tony Changed help file option number from 1 to 4
  750.  
  751.     IF num$ = "4" THEN
  752.     
  753.     g_help_files% = TRUE
  754.  
  755.     ENDIF
  756.  
  757.     
  758.     '' BFX456 No longer need REK section
  759.     
  760.     '' Add normal section
  761.     
  762.     AddSectionKeyFileToCopyList DESKINF$, num$, g_src_inf$, g_path_name$
  763.  
  764.  
  765.     ENDIF
  766.  
  767.     NEXT i_loop%
  768.  
  769. END SUB
  770.  
  771. '' End of function : AddDesktopFiles
  772.  
  773. ''***************************************************************************
  774. ''                  Function : AddNetworkFiles
  775. ''***************************************************************************
  776.  
  777. SUB AddNetworkFiles STATIC
  778.  
  779.     '' Read numeric value for active selection
  780.  
  781.     active$ = GetSymbolValue("NetworkOptions")
  782.     test$ =   GetSymbolValue("NetworkOptionsOrig")
  783.  
  784.     '' Compare to TCP value
  785.  
  786.     IF active$ = TCP_OPTION$ THEN
  787.  
  788.     '' Get active TCP value
  789.  
  790.     active$ = GetSymbolValue("TCP")
  791.     test$   = GetSymbolValue("TCPOrig")
  792.  
  793.     '' Add TCP specific files to VSL directory
  794.  
  795.     IF active$ <> test$ THEN
  796.  
  797.     '' Add windows directory to install for sizing only
  798.  
  799.     IF actual_install% = FALSE% THEN
  800.  
  801.     AddSectionKeyFileToCopyList TCPINF$, active$, g_src_inf$, g_win_dir$
  802.  
  803.     END IF
  804.  
  805.     AddSectionKeyFileToCopyList TCPINF$, active$, g_src_inf$, g_vsl_name$
  806.  
  807.     '' BFX539: Check for other files that need to be copied to windows 
  808.     
  809.     IF ( active$ = "ipxspx" ) THEN
  810.  
  811.         section$ = active$+"-p1"
  812.  
  813.         AddSectionKeyFileToCopyList TCPINF$, section$, g_src_inf$, g_win_dir$
  814.  
  815.     END IF
  816.     
  817.     
  818.     '' Add in special section to allow for NFS by hacking .INF file
  819.  
  820.     section$ = active$+"-p2"
  821.  
  822.     AddSectionKeyFileToCopyList TCPINF$, section$, g_src_inf$, g_path_name$
  823.  
  824.     '' BFX594: Add in special section to allow for Winsock
  825.     '' BFX539: Added IPXSPX to list of non winsock connectivity
  826.     
  827.     IF ( active$ <> "wsock10" ) AND ( active$ <>"winsock" ) AND ( active$ <>"ipxspx" )THEN
  828.  
  829.         section$ = active$+"-p3"
  830.  
  831.         AddSectionKeyFileToCopyList TCPINF$, section$, g_src_inf$, g_path_name$
  832.  
  833.     END IF
  834.  
  835.     '' Set changes to happen
  836.  
  837.     g_add_auto% = TRUE%
  838.  
  839.     ELSE
  840.  
  841.     '' No changes to file
  842.  
  843.     g_add_auto% = FALSE%
  844.  
  845.     END IF
  846.  
  847.     '' See if this is a JSB option
  848.  
  849.     IF active$ = JSB_OPTION$ THEN
  850.  
  851.     '' Get active JSB value
  852.  
  853.     jsb_adapt$ = GetSymbolValue("JSBTCP")
  854.     jsb_test$ = GetSymbolValue("JSBTCPOrig")
  855.  
  856.     '' Add JSB specific files for adaptor
  857.  
  858.     IF jsb_adapt$ <> jsb_test$ THEN
  859.  
  860.     '' Ensure not an unlisted driver 
  861.  
  862.     IF jsb_adapt$ <> "unlist" THEN 
  863.  
  864.         AddSectionKeyFileToCopyList JSBINF$, jsb_adapt$, g_src_inf$, g_path_name$
  865.  
  866.     END IF
  867.  
  868.     AddSectionKeyFileToCopyList JSBCON$, "1", g_src_inf$, g_win_dir$
  869.     AddSectionKeyFileToCopyList JSBCON$, "2", g_src_inf$, g_sys_dir$
  870.     AddSectionKeyFileToCopyList JSBCON$, "3", g_src_inf$, g_tcp_dir$
  871.     AddSectionKeyFileToCopyList JSBCON$, "4", g_src_inf$, g_path_name$
  872.  
  873.     '' Set changes to happen
  874.  
  875.     g_add_auto% = TRUE%
  876.  
  877.     ELSE
  878.     
  879.     '' No changes to file will now occur
  880.  
  881.     g_add_auto% = FALSE%
  882.  
  883.     END IF
  884.  
  885.     END IF
  886.  
  887.     ELSE
  888.  
  889.     '' Add network files to global file list if changed
  890.  
  891.     IF active$ <> test$ THEN
  892.  
  893.     '' Add windows directory to install for sizing only
  894.  
  895.     IF actual_install% = FALSE% THEN
  896.  
  897.     AddSectionKeyFileToCopyList NETINF$, active$, g_src_inf$, g_win_dir$
  898.  
  899.     END IF
  900.  
  901.     AddSectionKeyFileToCopyList NETINF$, active$, g_src_inf$, g_path_name$
  902.  
  903.     '' Set changes to happen
  904.  
  905.     g_add_auto% = TRUE%
  906.  
  907.     ELSE
  908.  
  909.     '' Stop changes
  910.  
  911.     g_add_auto% = FALSE%
  912.  
  913.     ENDIF
  914.  
  915.     END IF
  916.  
  917. END SUB
  918.  
  919. '' End of function : AddNetworkFiles
  920.  
  921. ''***************************************************************************
  922. ''                  Function : AddXFiles
  923. ''***************************************************************************
  924.  
  925. SUB AddXFiles STATIC
  926.  
  927.     '' BFX442
  928.     g_X_help_files% = FALSE
  929.  
  930.     '' Pick off selections from the list - "XOptions"
  931.  
  932.     i_list_num% = GetListLength("XOptions")
  933.  
  934.     '' Loop on all members of the list
  935.  
  936.     FOR i_loop% = 1 TO i_list_num% STEP 1
  937.  
  938.     '' Take off list of items being added
  939.  
  940.     active$ = GetListItem("XOptions", i_loop%)
  941.     test$   = GetListItem("XOptionsOrig", i_loop%)
  942.  
  943.     x_add$ = GetSymbolValue("X_Addition")
  944.  
  945.     '' Test if this needs adding
  946.  
  947.     IF ( (active$ = "Yes") AND ( (test$ = "No") OR ( x_add$ = "Yes") ) ) THEN
  948.  
  949.     '' Add this to global file list
  950.  
  951.     num$ = LTRIM$(STR$(i_loop%))
  952.  
  953.     '' Get the correct output directory for this option
  954.  
  955.      SELECT CASE i_loop%
  956.  
  957.     CASE 1
  958.  
  959.         out_dir$ = g_path_name$
  960.  
  961.     CASE 2
  962.  
  963.         out_dir$ = MakePath(g_path_name$, "FONTS\75DPI")
  964.  
  965.     CASE 3
  966.  
  967.         out_dir$ = MakePath(g_path_name$, "FONTS\100DPI")
  968.  
  969.     CASE 4
  970.  
  971.         ''BFX 442
  972.  
  973.         g_X_help_files% = TRUE
  974.  
  975.         out_dir$ = g_path_name$
  976.  
  977.     CASE 5
  978.  
  979.         out_dir$ = MakePath(g_path_name$, "FONTS\MISC")
  980.  
  981.     CASE ELSE
  982.  
  983.         out_dir$ = g_path_name$
  984.  
  985.     END SELECT
  986.  
  987.     '' Only attempt to add if this is an X installation setup
  988.  
  989.     IF g_X_in_inf_file% = TRUE% THEN
  990.  
  991.     AddSectionKeyFileToCopyList XINF$, num$, g_src_inf$, out_dir$
  992.  
  993.     ELSE
  994.  
  995.     '' Drop out without a call to product support
  996.  
  997.     TestRestoreFiles
  998.  
  999.     END
  1000.  
  1001.     END IF
  1002.  
  1003.     ENDIF
  1004.  
  1005.     NEXT i_loop%
  1006.  
  1007. END SUB
  1008.  
  1009. '' End of function : AddXFiles
  1010.  
  1011. ''***************************************************************************
  1012. ''                  Function : AddApplicationFiles
  1013. ''***************************************************************************
  1014.  
  1015. SUB AddApplicationFiles STATIC
  1016.  
  1017.     '' Only add application files for first installation
  1018.  
  1019.     IF g_first_inst% THEN
  1020.  
  1021.     '' Add on all values for application and setup
  1022.  
  1023.     AddSectionFilesToCopyList APPINF$, g_src_inf$, g_path_name$
  1024.  
  1025.     '' Also install setup files
  1026.  
  1027.     AddSectionFilesToCopyList SETUP$, g_src_inf$, g_setup_dir$
  1028.  
  1029.     '' Also install language files
  1030.  
  1031.     AddSectionFilesToCopyList LANGUAGE$, g_src_inf$, g_language_dir$
  1032.  
  1033.     '' Also install script files - BFX310
  1034.  
  1035.     AddSectionFilesToCopyList SCRIPT$, g_src_inf$, g_script_dir$
  1036.  
  1037.     '' Test X active or not
  1038.  
  1039.     x_ok$ = GetSymbolValue("X_Active")
  1040.  
  1041.     IF x_ok$ = "Yes" THEN
  1042.  
  1043.     check_math% = Has87MathChip()
  1044.  
  1045.     IF check_math% = 1 THEN
  1046.  
  1047.     apptype$ = "copro"
  1048.  
  1049.     ELSE
  1050.  
  1051.     apptype$ = "noco"
  1052.  
  1053.     END IF
  1054.  
  1055.     AddSectionKeyFileToCopyList XAPP$, XAPP$, g_src_inf$, g_path_name$
  1056.  
  1057.     '' DEV443 - Only install X ini file if not doing any upgrade from X2.02
  1058.  
  1059.     IF GetSymbolValue(PREV_X_INST$) = "2.02" THEN
  1060.  
  1061.     ELSE
  1062.  
  1063.       AddSectionKeyFileToCopyList XAPP$, "inisec", g_src_inf$, g_win_dir$
  1064.  
  1065.     ENDIF
  1066.  
  1067.     AddSectionKeyFileToCopyList XAPP$, "misc",   g_src_inf$, MakePath(g_path_name$, "FONTS\MISC")
  1068.     AddSectionKeyFileToCopyList XAPP$, apptype$, g_src_inf$, g_path_name$
  1069.  
  1070.     END IF
  1071.  
  1072.     '' Now add in extra fixed values - calculate windows drive values
  1073.  
  1074.     ndrive% = ASC(ucase$(g_win_drive$)) - ASC("A") + 1
  1075.  
  1076.     '' Set extra value to estimated size
  1077.  
  1078.     ReplaceListItem EXTRA$, ndrive%, WINSIZE$
  1079.  
  1080.     ELSE
  1081.  
  1082.     '' Test if X needs to be added
  1083.  
  1084.     x_ok$ = GetSymbolValue("X_Addition")
  1085.  
  1086.     IF x_ok$ = "Yes" THEN
  1087.  
  1088.     check_math% = Has87MathChip()
  1089.  
  1090.     IF check_math% = 1 THEN
  1091.  
  1092.     apptype$ = "copro"
  1093.  
  1094.     ELSE
  1095.  
  1096.     apptype$ = "noco"
  1097.  
  1098.     END IF
  1099.  
  1100.     AddSectionKeyFileToCopyList XAPP$, XAPP$, g_src_inf$, g_path_name$
  1101.  
  1102.     '' DEV443 - Only install X ini file if not doing any upgrade from X2.02
  1103.  
  1104.     IF GetSymbolValue(PREV_X_INST$) = "2.02" THEN
  1105.  
  1106.     ELSE
  1107.  
  1108.       AddSectionKeyFileToCopyList XAPP$, "inisec", g_src_inf$, g_win_dir$
  1109.  
  1110.     ENDIF
  1111.  
  1112.     AddSectionKeyFileToCopyList XAPP$, "misc",   g_src_inf$, MakePath(g_path_name$, "FONTS\MISC")
  1113.     AddSectionKeyFileToCopyList XAPP$, apptype$, g_src_inf$, g_path_name$
  1114.  
  1115.     '' Also install setup files
  1116.  
  1117.     AddSectionFilesToCopyList SETUP$, g_src_inf$, g_setup_dir$
  1118.  
  1119.     END IF
  1120.  
  1121.     END IF
  1122.  
  1123. END SUB
  1124.  
  1125. '' End of function : AddApplicationFiles
  1126.  
  1127.  
  1128. ''***************************************************************************
  1129. ''                  Function : SetDriveStatus
  1130. ''***************************************************************************
  1131.  
  1132. SUB SetDriveStatus STATIC
  1133.  
  1134.     '' Pick off value of installation drive
  1135.  
  1136.     drive$ = MID$(g_path_name$, 1, 1)
  1137.  
  1138.     '' Set this to a number, A = 1, B = 2 etc.
  1139.  
  1140.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1141.  
  1142.     '' Get free space available
  1143.  
  1144.     free& = GetFreeSpaceForDrive(drive$)
  1145.  
  1146.     '' Add up cost
  1147.  
  1148.     cost& = VAL(GetListItem(XCOSTS$, ndrive%)) + VAL(GetListItem(NETCOSTS$, ndrive%)) + VAL(GetListItem(DESKCOSTS$, ndrive%)) + VAL(GetListItem(APPCOSTS$, ndrive%))
  1149.  
  1150.     '' Put these values out for display
  1151.  
  1152.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  1153.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  1154.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  1155.  
  1156.     '' If installing to windows drive then hide the extra values
  1157.  
  1158.     IF drive$ = g_win_drive$ THEN
  1159.  
  1160.     ReplaceListItem DRIVETEXT$, 4, ""
  1161.     ReplaceListItem DRIVETEXT$, 5, ""
  1162.     ReplaceListItem DRIVETEXT$, 6, ""
  1163.  
  1164.     ELSE
  1165.  
  1166.     '' Calculate windows drive values
  1167.  
  1168.     ndrive% = ASC(ucase$(g_win_drive$)) - ASC("A") + 1
  1169.  
  1170.     '' Add up cost
  1171.  
  1172.     cost& = VAL(GetListItem(XCOSTS$, ndrive%)) + VAL(GetListItem(NETCOSTS$, ndrive%)) + VAL(GetListItem(DESKCOSTS$, ndrive%)) + VAL(GetListItem(APPCOSTS$, ndrive%))
  1173.  
  1174.     '' Check that this is required
  1175.  
  1176.     IF cost& = 0 THEN
  1177.  
  1178.     ReplaceListItem DRIVETEXT$, 4, ""
  1179.     ReplaceListItem DRIVETEXT$, 5, ""
  1180.     ReplaceListItem DRIVETEXT$, 6, ""
  1181.  
  1182.     ELSE
  1183.  
  1184.     '' Get free space
  1185.  
  1186.     free& = GetFreeSpaceForDrive(g_win_drive$)
  1187.  
  1188.     ReplaceListItem DRIVETEXT$, 4, g_win_drive$ + ":"
  1189.     ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  1190.     ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  1191.  
  1192.     END IF
  1193.  
  1194.     END IF
  1195.  
  1196. END SUB
  1197.  
  1198. '' End of function : SetDriveStatus
  1199.  
  1200. ''***************************************************************************
  1201. ''                  Function : CalculateSizeNeeded
  1202. ''***************************************************************************
  1203.  
  1204. SUB CalculateSizeNeeded STATIC
  1205.  
  1206.     '' Put on hourglass for re-calculation
  1207.  
  1208.     g_wait_cursor% = ShowWaitCursor()
  1209.  
  1210.     '' Add up values of different options
  1211.  
  1212.     IF g_update_all% = TRUE% THEN
  1213.  
  1214.     SizeOptions APPCOSTS$, APPSTAT
  1215.  
  1216.     END IF
  1217.  
  1218.     IF g_update_all% = TRUE% OR g_update_desk% = TRUE% THEN
  1219.  
  1220.     SizeOptions DESKCOSTS$, DESKSTAT
  1221.  
  1222.     END IF
  1223.  
  1224.     IF g_update_all% = TRUE% OR g_update_net% = TRUE% THEN
  1225.  
  1226.     SizeOptions NETCOSTS$, NETSTAT
  1227.  
  1228.     END IF
  1229.  
  1230.     IF g_update_all% = TRUE% OR g_update_X% = TRUE% THEN
  1231.  
  1232.     SizeOptions XCOSTS$, XSTAT
  1233.  
  1234.     END IF
  1235.  
  1236.     '' Clear all update values
  1237.  
  1238.     g_update_all%  = FALSE%
  1239.     g_update_desk% = FALSE%
  1240.     g_update_net%  = FALSE%
  1241.     g_update_X%    = FALSE%
  1242.  
  1243.     '' Go back to original
  1244.  
  1245.     IF g_wait_cursor% <> -1 THEN
  1246.  
  1247.     RestoreCursor g_wait_cursor%
  1248.     g_wait_cursor% = -1
  1249.  
  1250.     END IF
  1251.  
  1252. END SUB
  1253.  
  1254. '' End of function : CalculateSizeNeeded
  1255.  
  1256. ''***************************************************************************
  1257. ''                  Function : SizeOptions
  1258. ''***************************************************************************
  1259.  
  1260. SUB SizeOptions (cost$, stat% ) STATIC
  1261.  
  1262.     '' Start from zero copylist and file size
  1263.  
  1264.     ClearCopyList
  1265.  
  1266.     disk_cost& = 0
  1267.  
  1268.     '' See which section we are building up
  1269.  
  1270.     SELECT CASE cost$
  1271.  
  1272.     CASE APPCOSTS$
  1273.  
  1274.     AddApplicationFiles
  1275.  
  1276.     CASE DESKCOSTS$
  1277.  
  1278.     AddDesktopFiles
  1279.  
  1280.     CASE NETCOSTS$
  1281.  
  1282.     AddNetworkFiles
  1283.  
  1284.     CASE XCOSTS$
  1285.  
  1286.     AddXFiles
  1287.  
  1288.     CASE ELSE
  1289.  
  1290.     END SELECT
  1291.  
  1292.     '' Set up individual cost values
  1293.  
  1294.     disk_overflow& = GetCopyListCost(EXTRA$, cost$, "")
  1295.  
  1296.     '' Go through all possible additional values for drive ids
  1297.  
  1298.     FOR i_loop% = 1 TO 26 STEP 1
  1299.  
  1300.     disk_cost&  = disk_cost& + VAL(GetListItem(cost$, i_loop%))
  1301.  
  1302.     NEXT i_loop%
  1303.  
  1304.     '' Set overflow status if applicable
  1305.  
  1306.     IF disk_overflow& > 0 THEN
  1307.  
  1308.     '' Set value in BIGLIST$ to TRUE
  1309.  
  1310.     ReplaceListItem BIGLIST$ , stat%, "Yes"
  1311.  
  1312.     ELSE
  1313.  
  1314.     '' Clear biglist value
  1315.  
  1316.     ReplaceListItem BIGLIST$ , stat%, ""
  1317.  
  1318.     ENDIF
  1319.  
  1320.     '' Store total cost for this option in the status section
  1321.  
  1322.     ReplaceListItem STATUSTEXT$, stat%, STR$(disk_cost& / 1024) + " K"
  1323.  
  1324.     '' Reset any possible extra value (now only WINDIR, if this gets more
  1325.     '' complex then set up a global series to clear
  1326.  
  1327.     ndrive% = ASC(ucase$(g_win_drive$)) - ASC("A") + 1
  1328.  
  1329.     '' Set extra value to zero as it has been added to status
  1330.  
  1331.     ReplaceListItem EXTRA$, ndrive%, "0"
  1332.  
  1333. END SUB
  1334.  
  1335. '' End of function : SizeOptions
  1336.  
  1337. ''***************************************************************************
  1338. ''                  Function : MakePath
  1339. ''***************************************************************************
  1340.  
  1341. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  1342.  
  1343.    IF szDir$ = "" THEN
  1344.  
  1345.     MakePath = szFile$
  1346.  
  1347.     ELSEIF szFile$ = "" THEN
  1348.  
  1349.     MakePath = szDir$
  1350.  
  1351.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  1352.  
  1353.     MakePath = szDir$ + szFile$
  1354.  
  1355.     ELSE
  1356.  
  1357.     MakePath = szDir$ + "\" + szFile$
  1358.  
  1359.     END IF
  1360.  
  1361. END FUNCTION
  1362.  
  1363. '' End of function : MakePath
  1364.  
  1365. ''***************************************************************************
  1366. ''                  Function : AddNewProgmanDetails
  1367. ''***************************************************************************
  1368.  
  1369. SUB AddNewProgmanDetails STATIC
  1370.  
  1371.     '' Set up program name lists
  1372.  
  1373.     ProgmanNames(HwndFrame())
  1374.  
  1375.     '' Pick off name required from symbol
  1376.  
  1377.     prog_name$ = GetSymbolValue("ProgName")
  1378.  
  1379.     '' Create new group in program manager
  1380.     
  1381.     '' BFX490 changed cmoOverwrite tp cmoNone, because it isn't a valid param. 
  1382.     
  1383.     CreateProgmanGroup prog_name$, MakePath(g_win_dir$,"MVIEW5.GRP"), cmoNone
  1384.  
  1385.     '' Now loop on all required items - note that all three lists will be
  1386.     '' the same length
  1387.  
  1388.     i_max% = GetListLength("ProgTitle")
  1389.  
  1390.     FOR i_loop% = 1 TO i_max% STEP 1
  1391.  
  1392.     '' Pick off all three values
  1393.  
  1394.     item_name$ = GetListItem("ProgTitle", i_loop%)
  1395.     item_call$ = GetListItem("ProgList", i_loop%)
  1396.     item_icon$ = GetListItem("ProgIcon", i_loop%)
  1397.  
  1398.     '' Create this list item - if icon is NULL then don't add path
  1399.     '' msg% = DoMsgBox(item_icon$,"item_icon$",MB_OK)
  1400.  
  1401.     IF item_icon$ = "" THEN
  1402.  
  1403.         '' BFX206
  1404.  
  1405.         CreateProgmanItem prog_name$, item_name$, MakePath(g_path_name$,item_call$), item_icon$, cmoNone
  1406.  
  1407.     ELSE
  1408.  
  1409.         '' Test if icon file exists
  1410.         '' DEV665 if icon value is HELP_32 then this is a lpr/lpd 32 bit help file which does
  1411.         '' not need a path prepending
  1412.         
  1413.         IF item_icon$ = "HELP_32" THEN
  1414.  
  1415.         item_icon$ = ""
  1416.         '' msg% = DoMsgBox(item_call$,"got HRLP_32 now item_call$ is",MB_OK)
  1417.         CreateProgmanItem prog_name$, item_name$, item_call$, item_icon$, cmoNone    
  1418.  
  1419.         ELSE
  1420.  
  1421.             file_exist% = DoesFileExist(MakePath(g_path_name$,item_icon$), femExists)
  1422.  
  1423.             IF file_exist% = 1 THEN
  1424.  
  1425.             icon_file$ = MakePath(g_path_name$,item_icon$)
  1426.  
  1427.             ELSE
  1428.  
  1429.             icon_file$ = MakePath(g_path_name$,"NOHOST.ICO")
  1430.  
  1431.             END IF
  1432.    
  1433.  
  1434.  
  1435.             '' BFX206
  1436.  
  1437.             CreateProgmanItem prog_name$, item_name$, MakePath(g_path_name$,item_call$), icon_file$, cmoNone
  1438.         
  1439.         ENDIF
  1440.     
  1441.     ENDIF
  1442.  
  1443.     NEXT i_loop%
  1444.  
  1445.     '' Add X icon if necessary
  1446.  
  1447.     x_ok$ = GetSymbolValue("X_Active")
  1448.  
  1449.     IF x_ok$ = "Yes" THEN
  1450.  
  1451.     '' BFX206
  1452.     
  1453.     CreateProgmanItem prog_name$, g_product_name$ + " Server", MakePath(g_path_name$,"X.EXE"), "", cmoNone
  1454.  
  1455.     '' Now see if we have installed the font compiler, option "1"
  1456.  
  1457.     font_comp$ = GetListItem ("XOptions", 1)
  1458.  
  1459.     IF font_comp$ = "Yes" THEN
  1460.  
  1461.     '' Add to group
  1462.  
  1463.     '' BFX206
  1464.     
  1465.     CreateProgmanItem prog_name$, "Font Compiler", MakePath(g_path_name$,"FONTMAN.EXE"), "", cmoNone
  1466.  
  1467.     END IF
  1468.  
  1469.     END IF
  1470.  
  1471.     '' Add setup program
  1472.  
  1473.     '' BFX206
  1474.     
  1475.  
  1476.     CreateProgmanItem prog_name$, "Setup", MakePath(g_path_name$,"SETUP\SETUP.EXE"), "", cmoNone
  1477.  
  1478.     '' Add readme program
  1479.  
  1480.     '' DEV466
  1481.  
  1482.     IF x_ok$ = "Yes" THEN
  1483.  
  1484.     CreateProgmanItem prog_name$, g_product_name$ + " Readme", MakePath(g_path_name$,"README_X.TXT"), "", cmoNone
  1485.  
  1486.     CreateProgmanItem prog_name$, "MultiView DeskTop" + " Readme", MakePath(g_path_name$,"README.TXT"), "", cmoNone
  1487.  
  1488.     ELSE
  1489.  
  1490.     '' BFX206
  1491.  
  1492.     CreateProgmanItem prog_name$, g_product_name$ + " Readme", MakePath(g_path_name$,"README.TXT"), "", cmoNone
  1493.  
  1494.     ENDIF
  1495.  
  1496.     '' Add jsbkrnl program
  1497.     
  1498.     '' DEV439
  1499.  
  1500.     '' CreateProgmanItem prog_name$, "JSB TCP/IP Kernel Readme", MakePath(g_path_name$, "JSBKRNL.TXT"), "", cmoNone   //NOVELL REMOVED
  1501.  
  1502.     '' Add help icons 
  1503.  
  1504.     IF g_help_files% = TRUE THEN
  1505.  
  1506.     CreateProgmanItem prog_name$, "MultiView DeskTop Help", MakePath(g_path_name$,"mview.hlp"), "", cmoNone
  1507.     
  1508.     '' BFX490 Tonyr : Added new Help icon to program group
  1509.  
  1510.     CreateProgmanItem prog_name$, "File Transfer Help", MakePath(g_path_name$,"ftp.hlp"), "", cmoNone
  1511.  
  1512.     CreateProgmanItem prog_name$, "Technical Help", MakePath(g_path_name$,"mvwtech.hlp"), "", cmoNone
  1513.       
  1514.     ENDIF
  1515.  
  1516.     '' BFX442
  1517.     
  1518.     IF g_X_help_files% = TRUE THEN
  1519.  
  1520.     IF x_ok$ = "Yes" THEN
  1521.  
  1522.      CreateProgmanItem prog_name$, g_product_name$ + " Server", MakePath(g_path_name$,"xoftware.hlp"), "", cmoNone
  1523.  
  1524.     ENDIF
  1525.  
  1526.     ENDIF
  1527.  
  1528.     '' BFX581 This is done by the DLL now.
  1529.  
  1530.  
  1531.     '' DEV517: Add jsb ftp site
  1532.  
  1533.     '' CreateProgmanItem prog_name$, "JSB's FTP Site", MakePath(g_path_name$,"mxfer.exe \nftp.jsb.com \pfftp"), MakePath(g_path_name$,"jsbftp.ico"), cmoNone 
  1534.     
  1535.     '' Add group name to MVIEW.INI file
  1536.  
  1537.     CreateIniKeyValue MakePath(g_win_dir$,"MVIEW.INI"), "multiview", "progmangroup", prog_name$, cmoNone
  1538.  
  1539.     IF x_ok$ = "Yes" THEN
  1540.  
  1541.     '' Add X program manager group
  1542.  
  1543.     CreateIniKeyValue MakePath(g_win_dir$,"XOFTWARE.INI"), "XoftWare", "ProgGroup", prog_name$, cmoNone
  1544.  
  1545.     END IF
  1546.  
  1547.     '' Remove the symbols used
  1548.  
  1549.     RemoveSymbol("ProgName")
  1550.     RemoveSymbol("ProgTitle")
  1551.     RemoveSymbol("ProgList")
  1552.     RemoveSymbol("ProgIcon")
  1553.  
  1554. END SUB
  1555.  
  1556. '' End of function : AddNewProgmanDetails
  1557.  
  1558. ''***************************************************************************
  1559. ''                  Function : SerialisationFailed
  1560. ''***************************************************************************
  1561.  
  1562. SUB SerialisationFailed STATIC
  1563.  
  1564. STARTSERIAL:
  1565.  
  1566.     '' Call dialog box
  1567.  
  1568.     dialog_return$ = UIStartDlg(CUIDLL$, SERIAL_FAILED, "SerialisationFailed", 0, "")
  1569.  
  1570.     SELECT CASE dialog_return$
  1571.  
  1572.     CASE REACTIVATE$
  1573.  
  1574.     '' Simply redisplay dialog
  1575.  
  1576.     GOTO STARTSERIAL
  1577.  
  1578.     CASE ELSE
  1579.  
  1580.     '' Remove dialog
  1581.  
  1582.     UIPop 1
  1583.  
  1584.     END SELECT
  1585.  
  1586. END SUB
  1587.  
  1588. '' End of function : SerialisationFailed
  1589.  
  1590. ''***************************************************************************
  1591. ''                  Function : GetTermLogin
  1592. ''***************************************************************************
  1593.  
  1594. SUB GetTermLogin STATIC
  1595.  
  1596. STARTTERM:
  1597.  
  1598.     '' Call dialog box
  1599.  
  1600.     dialog_return$ = UIStartDlg(CUIDLL$, TERMINAL, "GetTermValues", APPHELP, HELP_PROC$)
  1601.  
  1602.     SELECT CASE dialog_return$
  1603.  
  1604.     CASE REACTIVATE$
  1605.  
  1606.     '' Simply redisplay dialog
  1607.  
  1608.     GOTO STARTTERM
  1609.  
  1610.     CASE ELSE
  1611.  
  1612.     '' Remove dialog
  1613.  
  1614.     UIPop 1
  1615.  
  1616.     END SELECT
  1617.  
  1618. END SUB
  1619.  
  1620. '' End of function : GetTermLogin
  1621.  
  1622. ''***************************************************************************
  1623. ''                  Function : AddXProgmanDetails
  1624. ''***************************************************************************
  1625.  
  1626. SUB AddXProgmanDetails STATIC
  1627.  
  1628.     '' Add X icon if necessary
  1629.  
  1630.     x_ok$ = GetSymbolValue("X_Addition")
  1631.  
  1632.     IF x_ok$ = "Yes" THEN
  1633.  
  1634.     '' Pick off name required from ini file
  1635.  
  1636.     prog_name$ = GetIniKeyString(MakePath(g_win_dir$,"MVIEW.INI"), "multiview", "progmangroup")
  1637.  
  1638.     CreateProgmanItem prog_name$, g_product_name$ + " Server", MakePath(g_path_name$,"X.EXE"), "", cmoNone
  1639.  
  1640.     '' Now see if we have installed the font compiler, option "1"
  1641.  
  1642.     font_comp$ = GetListItem ("XOptions", 1)
  1643.  
  1644.     IF font_comp$ = "Yes" THEN
  1645.  
  1646.     '' Add to group
  1647.  
  1648.     CreateProgmanItem prog_name$, "Font Compiler", MakePath(g_path_name$,"FONTMAN.EXE"), "", cmoNone
  1649.  
  1650.     END IF
  1651.  
  1652.     CreateIniKeyValue MakePath(g_win_dir$,"XOFTWARE.INI"), "XoftWare", "ProgGroup", prog_name$, cmoNone
  1653.  
  1654.     ELSE
  1655.  
  1656.     '' Check for later addition of X font compiler
  1657.  
  1658.     active$ = GetListItem("XOptions", 1)
  1659.     test$   = GetListItem("XOptionsOrig", 1)
  1660.  
  1661.     '' Test if this needs adding
  1662.  
  1663.     IF active$ = "Yes" AND test$ = "No" THEN
  1664.  
  1665.     '' Pick off name required from ini file
  1666.  
  1667.     prog_name$ = GetIniKeyString(MakePath(g_win_dir$,"MVIEW.INI"), "multiview", "progmangroup")
  1668.  
  1669.     '' Add to group
  1670.  
  1671.     CreateProgmanItem prog_name$, "Font Compiler", MakePath(g_path_name$,"FONTMAN.EXE"), "", cmoNone
  1672.  
  1673.     ENDIF
  1674.  
  1675.     END IF
  1676.  
  1677. END SUB
  1678.  
  1679. '' End of function : AddXProgmanDetails
  1680.