Changeset 450 for branches


Ignore:
Timestamp:
Apr 26, 2010, 4:51:52 PM (15 years ago)
Author:
Herwig Bauernfeind
Message:

GUI-Tools: Latest EVFSGUI changes

Location:
branches/guitools-2.0
Files:
1 added
12 edited

Legend:

Unmodified
Added
Removed
  • branches/guitools-2.0/evfsgui/changes

    r410 r450  
    77- Enable WPS integration code (partly done)
    88- Enable and complete printer support code
    9 - Eventually support on-the-fly browsing of directories/files in EVFSGUI
    109- Eventually support server based logon scripts (requires REXX rpc library,
    1110  partly done)
    12 - Opening WPS folders should be done in a separate Thread (in order not to
    13   block EVFSGUI while waiting for a slow WPS folder...)
    14 
    15 Version 2.0.3 2010-02-20
    16 - Fixed: The NLV subroutine now properly falls back to the builtin (bracketed)
    17          message files in case NO (not even an english message file) can be
    18          found.
     11- Passive connections/double connection detection does not seem to work
     12  properly (it does, it is Turbofolder that is creating the 100% CPU load)
     13 
     14Version 2.1-beta
     15- Added: On-the-fly browsing on remote servers
     16- Added: Filed can be "opened" during on-the-fly browsing (a mountpoint
     17         is created first)
     18- Added: Set icons of browsed files according to extender types (only most
     19         often used types (EXE, OOO, PDF, generic multimedia icons - no WPS
     20         mechanism for that)
     21         
     22Version 2.0.5 2010-04-23
     23- Fixed: Passive connections were not removed when the same connection was
     24         loaded using a profile
     25- Fixed: Missing NLV message if wrong file was dropped onto the left pane
     26
     27Version 2.0.4 2010-04-09
     28- Fixed: Connection details doubled since MEMLEN etc removal.
     29- Changed: Some parts of the code were refactored
     30
     31Version 2.0.3 2010-02-23
     32- Added: Open mountpoint as WPS object moved to a separate thread in order
     33         not to block the EVFSGUI main window while waiting for a folder
     34         on a slow connection to open.
     35- Added: Double-click also opens a mountpoint as WPS folder         
     36- Added: Debug ON also makes hidden columns in connections details visible
     37- Fixed: "Abort" button on progress window was not NLV enabled
     38- Fixed: The NLV subroutine now properly falls back to the builtin
     39         (bracketed) message files in case NO (not even an english
     40         message file) can be found.
     41- Fixed: Do not crash in Autostart dialog when no NLV file was found.         
    1942- Fixed: Open mountpoint as WPS object fully workable
    2043- Fixed: Open mountpint now has a consistent behaviour with other actions
  • branches/guitools-2.0/evfsgui/evfsgui.RC

    r327 r450  
    2727BITMAP 35  eBall_25.bmp
    2828icon 68 passive.ico
     29icon 80 PDF.ICO
     30icon 81 ooo-base-doc.ico
     31icon 82 ooo-calc-doc.ico
     32icon 83 ooo-draw-doc.ico
     33icon 84 ooo-impress-doc.ico
     34icon 85 ooo-math-doc.ico
     35icon 86 ooo-writer-doc.ico
     36icon 87 fw.ico
     37icon 88 image.ico
     38icon 89 movie.ico
     39icon 90 snd.ico
     40icon 91 wpi.ico
     41icon 92 zip.ico
     42icon 93 inf.ico
     43icon 94 txt.ico
  • branches/guitools-2.0/evfsgui/evfsgui.VRP

    r410 r450  
    11VX-REXX OS/2 V2.14 Build B3
    22VRX: evfsgui.VRX
     3VRX: wps_open.VRX
    34VXOFile: VRSPLIT
    45MacroPath: VRM:U:\Develop\Samba\guitools-2.0\evfsgui
     
    78RunDirectory: U:\Develop\Samba\guitools-2.0\evfsgui
    89VRXWindow: __VREMainWindow,1,1482,915,891,8034
    9 VRXWindow: __VRESectionListWindow,1,1469,10551,8696,4794
     10VRXWindow: __VREFileListWindow,1,807,11033,1506,3358
     11VRXWindow: __VRESectionListWindow,1,2361,10648,8696,4794
    1012VRXWindow: __VREToolsWindow,0,2517,7082,6992,1669
     13VRXWindow: __VREWindListWindow,1,542,8721,2650,3150
    1114UserFile: 1
    1215UserWindow: Main,1
  • branches/guitools-2.0/evfsgui/evfsgui.VRX

    r410 r450  
    104104    VolTplRH = VRMethod('CN_CURRENT', 'AddRecord', , 'First', 'Volume template', '#10:PMWP.DLL' )
    105105    MpTplRH = VRMethod('CN_CURRENT', 'AddRecord', VolTplRH, 'First', 'Mountpoint template', '#10:PMWP.DLL'  )
     106return
     107
     108/*:VRX         _BrowseBuildPath
     109*/
     110_BrowseBuildPath: procedure expose options. sharerh
     111    IF options.!debug == 1 THEN SAY time()' _BrowseBuildPath started'
     112    rh = arg(1)
     113
     114    finished = 0
     115    BrowsePathStr = ''
     116   
     117    do while \finished
     118        parentrh = VRMethod("CN_smbtree","GetRecordAttr",rh,"Parent")
     119        resname = VRMethod("CN_smbtree","GetRecordAttr",rh,"caption")
     120        userdata = VRMethod("CN_smbtree","GetRecordAttr",rh,"userdata")
     121        parse var userdata udatatype '|' udatamsg
     122        parse var resname resname '0D0A'x .
     123        resname = strip(resname)
     124        /* say "  Not connected - cannot open!" */
     125        select
     126            when udatatype = "SERVER" then do
     127                BrowsePathStr = '\\'resname'\'BrowsePathStr
     128                finished = 1
     129            end
     130            when udatatype = "DISK" then do
     131                BrowsePathStr = resname'\'BrowsePathStr
     132                sharerh =rh
     133                rh = parentrh
     134            end
     135            otherwise do
     136                BrowsePathStr = resname'\'BrowsePathStr
     137                rh = parentrh
     138            end
     139        end
     140        /* say '  BrowsePathStr = "'BrowsePathStr'"' */
     141    end
     142    BrowsePathStr = strip(BrowsePathStr,'T','\')
     143    IF options.!debug == 1 THEN SAY time()' _BrowseBuildPath done, returning "'BrowsePathStr'"'
     144return BrowsePathStr
     145
     146/*:VRX         _BrowseDirectory
     147*/
     148_BrowseDirectory: /* This must not be a procedure */
     149    IF options.!debug == 1 THEN SAY time()' _BrowseDirectory started'
     150
     151    /* Turn off painting */
     152    ok = VRSet("CN_SMBTREE","Painting", 0 )
     153    call VRSet VRWindow(), 'Pointer', 'Wait'
     154
     155    /* Make sure credentials are usable */
     156    if UserCred   = 'USERCRED'   | UserCred = '' | UserCred = '--user=%' then UserCred = '-N'   
     157
     158    say '  'samba.!smbclientexe' \\'machine'\'sharename' 'UserCred' --command="dir 'browsepath'"'
     159    address cmd samba.!smbclientexe' \\'machine'\'sharename' 'UserCred' --command="dir 'browsepath'" 'debuglevel' 2>NUL 1>'samba.!msg
     160
     161    if UserCred   = '-N' then UserCred = ''   
     162
     163    I = 0
     164    do until lines(samba.!msg) = 0
     165        infoline = linein(samba.!msg)
     166        select
     167            when pos('blocks',infoline) > 0 then do /* Last line */
     168                /* we should handle size information here */
     169                iterate
     170            end
     171            when I = 0 & length(infoline) > 0 & left(infoline,2) <> "  " then do /* Login message */
     172                say '  Login message "'Infoline'"'
     173                ok = VRMethod("CN_SMBTREE", "SetRecordAttr", SMBObj.rh, "Userdata", SMBObj.udatatype'|'infoline )
     174                ok = VRSet("DT_STATUSBAR","Caption", infoline)
     175            end
     176            when left(infoline,2) = "  " & length(infoline) > 0 then do /* file or DIR */
     177                wn       = words(infoline)
     178                fyear    = word(infoline,wn)
     179                ftime    = word(infoline,wn-1)
     180                fday     = word(infoline,wn-2)
     181                fmonth   = word(infoline,wn-3)
     182                fwday    = word(infoline,wn-4)
     183                pos_attr = pos(fwday,infoline)-16
     184                fsize    = word(infoline,wn-5)
     185                fattr    = substr(infoline,pos_attr,6)
     186                fname    = strip( substr(infoline,3,pos_attr-3))
     187                if fname = '.' | fname = '..' then iterate /* we do not display these */
     188                if pos('H',fattr) > 0  then iterate /* we do not display hidden files */
     189                if pos('S',fattr) > 0  then iterate /* we do not display system files */
     190                I = I + 1
     191                fh.I = VRMethod( "CN_SMBTREE", "AddRecord", SMBObj.rh, , fname)
     192                if pos('D',fattr) = 0 then do
     193                    Ext = translate(VRParseFIleName(fname,'E'))
     194                    select
     195                        when Ext = 'EXE' then ficon = '#3:PMWP.DLL' /* executable */
     196                        when Ext = 'CMD' then ficon = '#2:PMWP.DLL' /* OS/2 or NT batch */
     197                        when Ext = 'BAT' then ficon = '#1:PMWP.DLL' /* DOS batch */
     198                        when Ext = 'PDF' then ficon = '#80' /* PDF document */
     199                        when wordpos(Ext, 'XLS SXC ODS') > 0         then ficon = '#82' /* spreadsheet */
     200                        when wordpos(Ext, 'DOC SXW ODT') > 0         then ficon = '#86' /* text document */
     201                        when wordpos(Ext, 'FW2 FW3 FW4') > 0         then ficon = '#87' /* framework */
     202                        when wordpos(Ext, 'JPG BMP PNG GIF TIF') > 0 then ficon = '#88' /* image */
     203                        when wordpos(Ext, 'AVI MPG FLV WMV') > 0     then ficon = '#89' /* image */
     204                        when wordpos(Ext, 'WAV MP3 OGG MID') > 0     then ficon = '#90' /* sound */
     205                        when wordpos(Ext, 'WPI') > 0                 then ficon = '#91' /* warpin */
     206                        when wordpos(Ext, 'ZIP') > 0                 then ficon = '#92' /* zip */
     207                        when wordpos(Ext, 'INF HLP') > 0             then ficon = '#93' /* View */
     208                        when wordpos(Ext, 'TXT') > 0                 then ficon = '#94' /* View */
     209                        otherwise ficon = '#24:PMWP.DLL' /* default file icon */
     210                    end
     211                    ftype = 'FILE'
     212                end
     213                else do
     214                    ficon = '#26:PMWP.DLL' /* dir */
     215                    ftype = 'DIRECTORY'
     216                end
     217
     218                ok = VRmethod("CN_SMBTREE", "SetRecordAttr", fh.I, "userdata", ftype'|'fsize' Bytes 'fday'-'fmonth'-'fyear' 'ftime,'icon',Ficon)
     219           
     220            end
     221            otherwise nop /* no other line type */
     222        end
     223    end
     224    if I > 0 then ok = VRMethod("CN_SMBTREE","SetRecordAttr",SMBObj.rh, "Icon", "#34:PMWP.DLL") /* open folder */
     225    ok = stream(samba.!msg,'c','close')
     226    ok = SysFileDelete(samba.!msg)
     227
     228    ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", SMBObj.rh,"Collapsed", 0)
     229    /* Turn on painting */
     230    call VRSet VRWindow(), 'Pointer', '<default>'
     231    ok = VRSet("CN_SMBTREE","Painting", 1 )
     232    IF options.!debug == 1 THEN SAY time()' _BrowseDirectory done'
     233return
     234
     235/*:VRX         _BrowseObjectOpen
     236*/
     237_BrowseObjectOpen: procedure expose options. cd.
     238    machine    = arg(1)
     239    sharename  = arg(2)
     240    browsepath = arg(3)
     241
     242    CALL VRMethod 'CN_CONDET', 'GetRecordList', 'All', 'records.'
     243
     244    OpenOk = 0
     245
     246    DO i = 1 TO records.0
     247        if VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.StatusFH) = "#64:PMWP.DLL" then do
     248            IF options.!debug == 1 THEN SAY '  'VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.StatusFH)' 'VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.MPointFH)' 'VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.ServerFH)' 'VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.ShareFH)
     249            if machine = VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.ServerFH) &,
     250               sharename = VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.ShareFH) then do
     251                Object = strip(VRMethod( 'CN_CONDET', "GetFieldData", records.i, CD.MPointFH),'T','\')'\'browsepath
     252                IF options.!debug == 1 THEN SAY '  Non UNC object: "'Object'"'
     253                ID = VRMethod( "Application", "StartThread", "wps_open", Object, "DEFAULT" )
     254                OpenOK = 1
     255            end
     256        end
     257        if OpenOK = 1 then leave
     258    end
     259return OpenOK
     260
     261/*:VRX         _BrowseResetObject
     262*/
     263_BrowseResetObject: procedure
     264    ok = VRSet("CN_SMBTREE","Painting", 0 )
     265    rh = arg(1)
     266
     267    /* Remove all files and directories whose parent is our share */
     268    ok = VRMethod( "CN_SMBTREE", "GetRecordList", "All", "AllRH." )
     269    do I = 1 to AllRH.0
     270        AllParentRH  = VRMethod("CN_smbtree","GetRecordAttr",AllRH.I,"Parent")
     271        if AllParentRH = rh then ok = VRMethod( "CN_SMBTREE", "RemoveRecord", AllRH.I )
     272    end
     273    ok = VRSet("CN_SMBTREE","Painting", 1 )
    106274return
    107275
     
    200368return
    201369
     370/*:VRX         _dropdeprecated
     371*/
     372_dropdeprecated:
     373    drop rh     
     374    drop parentrh     
     375    drop icon     
     376    drop resname   
     377    drop udatatype
     378    drop udatamsg 
     379return
     380
     381/*:VRX         _GetSMBObjectProperties
     382*/
     383_GetSMBObjectProperties: procedure expose options. SMBObj. rh icon resname udatatype udatamsg parentrh
     384    IF options.!debug == 1 THEN SAY time()' _GetSMBObjectProperties started'
     385
     386    /* Purpose of this subroutine:
     387       The current SMB object's frequently used properties should be stored in a stem
     388       SMBObj.rh        = recordhandle of the object
     389       SMBObj.resname   = resourcename of the object
     390       SMBObj.icon      = icon of the object
     391       SMBObj.udatatype = type of object (WORKGROUP, SERVER, DISK, PRINTER, FILE, DIRECTORY)
     392       SMBObj.udatamsg  = arbitrary object related data (Login message, file properties)
     393       SMBObj.parentrh  = recordhandle of the object's parent
     394
     395       The stem-less counterparts of these variables are considered deprecated and should be removed wherever possible
     396       This routine will drop any value in order to make sure the stem actually works
     397     */
     398    call _dropdeprecated
     399
     400    SMBObj. = ""
     401    SMBObj.rh = arg(1)
     402
     403    if VRMethod( 'CN_SMBTREE', "ValidateRecord", SMBObj.rh) <> 1 | SMBObj.rh = "" then do
     404        SMBObj. = ""
     405        IF options.!debug == 1 THEN SAY time()' _GetSMBObjectProperties aborted'
     406        return
     407    end
     408
     409    SMBObj.Icon = VRMethod("CN_SMBTREE", "GetRecordAttr", SMBObj.rh, "Icon")
     410
     411    SMBObj.parentrh = VRMethod("CN_SMBTREE", "GetRecordAttr", SMBObj.rh, "Parent")
     412
     413    SMBObj.resname  = VRMethod("CN_smbtree", "GetRecordAttr", SMBObj.rh, "Caption")
     414    parse var SMBObj.resname SMBObj.resname '0D0A'x .
     415    SMBObj.resname = strip(SMBObj.resname)
     416
     417    Userdata = VRMethod("CN_smbtree", "GetRecordAttr", SMBObj.rh, "Userdata")
     418    parse var userdata SMBObj.udatatype '|' SMBObj.udatamsg
     419    SMBObj.udatatype = strip(SMBObj.udatatype)
     420    SMBObj.udatamsg  = strip(SMBObj.udatamsg)
     421
     422    IF options.!debug == 1 THEN do
     423        SAY '  Handle:   "'SMBObj.rh'"'
     424        SAY '  Resource: "'SMBObj.resname'"'
     425        SAY '  Type:     "'SMBObj.udatatype'"'
     426        SAY '  Message:  "'SMBObj.udatamsg'"'
     427        SAY '  Icon:     "'SMBObj.icon'"'
     428    end
     429
     430    IF options.!debug == 1 THEN SAY time()' _GetSMBObjectProperties done'
     431return
     432
    202433/*:VRX         _GUIInit
    203434*/
     
    205436    CALL VRSet 'Main', 'HelpFile', settings.!helpfile
    206437
    207     CALL NLVSetText 'Main',     'Caption', 1
    208     CALL NLVSetText 'DT_CURRENT',        'Caption', 10
     438    CALL NLVSetText 'Main',        'Caption', 1
     439    CALL NLVSetText 'DT_CURRENT',  'Caption', 10
    209440    CALL NLVSetText 'PB_DETACH',   'Caption', 11
    210441    CALL NLVSetText 'PB_UNMOUNT',  'Caption', 12
    211     CALL NLVSetText 'DT_DIALOG',        'Caption', 13
     442    CALL NLVSetText 'DT_DIALOG',   'Caption', 13
    212443    CALL NLVSetText 'DT_MOUNT',    'Caption', 14
    213444
     
    228459    CALL NLVSetText 'PB_HELP',     'Caption', 4
    229460
    230     /* Herwig B. */
    231     CALL NLVSetText 'MENU_CONTEXT_DETACH',   'Caption', 11
    232     CALL NLVSetText 'MENU_CONTEXT_UNMOUNT',  'Caption', 12
    233     CALL NLVSetText 'MENU_CONTEXT_EDIT',     'Caption', 32
    234     CALL NLVSetText 'MENU_CONTEXT_OPEN',     'Caption', 94
     461    CALL NLVSetText 'MENU_CONTEXT_DETACH',        'Caption', 11
     462    CALL NLVSetText 'MENU_CONTEXT_UNMOUNT',       'Caption', 12
     463    CALL NLVSetText 'MENU_CONTEXT_EDIT',          'Caption', 32
     464    CALL NLVSetText 'MENU_CONTEXT_OPEN',          'Caption', 94
     465    CALL NLVSetText 'MENU_CONTEXT_OPEN_ICON',     'Caption', 95
     466    CALL NLVSetText 'MENU_CONTEXT_OPEN_TREE',     'Caption', 96
     467    CALL NLVSetText 'MENU_CONTEXT_OPEN_DETAIL',   'Caption', 97
     468    CALL NLVSetText 'MENU_CONTEXT_OPEN_SETTINGS', 'Caption', 98
     469    CALL NLVSetText 'MENU_CONTEXT_OPEN_SPLITVIEW','Caption', 99
    235470
    236471    CALL NLVSetText 'Menu_File',          'Caption', 80
     
    300535*/
    301536_PassiveLoad:
    302 Say "_PassiveLoad started"
     537    IF options.!debug == 1 THEN SAY time()' '||"_PassiveLoad started"
     538
    303539    do cnt = 1 to 255
    304540        resdata = VRGetIni( "PassiveConnections", cnt, settings.!ini )
     
    306542
    307543        PARSE Var resdata p_mpoint resource rwFlag
    308 
    309 say "resdata  ="resdata
    310 say "p_mpoint ="p_mpoint
    311 say "resource ="resource
    312 say "rwFlag   ="rwFlag
    313 
    314 
     544        IF options.!debug == 1 THEN do
     545            say "  resdata  ="resdata
     546            say "  p_mpoint ="p_mpoint
     547            say "  resource ="resource
     548            say "  rwFlag   ="rwFlag
     549        end
    315550
    316551/*      vfs.!drive      = FILESPEC('DRIVE', node )
     
    330565        PARSE VAR resource . 'MASTER=' p_master ';' .
    331566        PARSE VAR resource . 'MASTERTYPE=' p_mtype ';' .
    332         PARSE VAR resource . 'MEMLEN=' p_memlen ';' .
     567/*      PARSE VAR resource . 'MEMLEN=' p_memlen ';' .
    333568        PARSE VAR resource . 'LOGFILE=' p_logfile ';'.
    334         PARSE VAR resource . 'LOGLEVEL=' p_loglevel ';' .
     569        PARSE VAR resource . 'LOGLEVEL=' p_loglevel ';' . */
    335570        PARSE VAR resource . 'EASUPPORT=' p_easupport .
    336571
     
    338573
    339574        cd.lastrh = VRMethod("CN_CONDET","AddRecord")
    340 say "cd.lastrh="cd.lastrh
    341 
    342         ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.mpointFH, p_mpoint, cd.mpidxfh, p_mpidx, cd.workgroupfh, p_workgroup, cd.serverfh, p_server, cd.sharefh, p_share, cd.userfh, p_user)
    343         ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.passwordfh, p_password, cd.spasswordfh, p_spassword, cd.masterfh, p_master, cd.mtypefh, p_mtype)
    344         ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.memlenfh, p_memlen, cd.easupportfh, p_easupport, cd.logfilefh, p_logfile, cd.loglevelfh, p_loglevel, cd.rwfh, p_rw)
     575        IF options.!debug == 1 THEN say "  cd.lastrh = "cd.lastrh
     576
     577        ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.mpointFH, p_mpoint, cd.mpidxfh, p_mpidx)
     578        ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.workgroupfh, p_workgroup, cd.serverfh, p_server, cd.sharefh, p_share)
     579        ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.userfh, p_user, cd.passwordfh, p_password, cd.spasswordfh, p_spassword)
     580        ok = VRMethod("CN_CONDET", "SetFieldData", cd.masterfh, p_master, cd.mtypefh, p_mtype, cd.lastrh, cd.easupportfh, p_easupport, cd.rwfh, p_rw)
     581/*      ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.memlenfh, p_memlen, cd.logfilefh, p_logfile, cd.loglevelfh, p_loglevel ) */
    345582        ok = VRMethod("CN_CONDET", "SetFieldData", cd.lastrh, cd.statusfh, '#68:PMWP.DLL') /* Passive */
    346583        ok = VRMethod("CN_CONDET", "SetRecordAttr", cd.lastrh, "Icon", '#68:PMWP.DLL') /* Active */
     
    353590
    354591    end
    355 Say "_PassiveLoad done"
     592    IF options.!debug == 1 THEN SAY time()' '||"_PassiveLoad done"
    356593return
    357594/*:VRX         _PassiveSave
    358595*/
    359596_PassiveSave:
     597    IF options.!debug == 1 THEN SAY time()' '||"_PassiveSave started"
    360598    ok = VRDelIni( "PassiveConnections", "ALL", settings.!ini )
    361599
     
    382620            resdata = resdata||';MASTER='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.masterfh)
    383621            resdata = resdata||';MASTERTYPE='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.mtypefh)
    384             resdata = resdata||';MEMLEN='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.memlenfh)
     622/*          resdata = resdata||';MEMLEN='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.memlenfh)
    385623            resdata = resdata||';LOGFILE='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.logfilefh)
    386             resdata = resdata||';LOGLEVEL='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.loglevelfh)
     624            resdata = resdata||';LOGLEVEL='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.loglevelfh) */
    387625            resdata = resdata||';EASUPPORT='||VRMethod("CN_CONDET","GetFieldData", records.i, cd.easupportfh)
    388626            resdata = resdata||' '||VRMethod("CN_CONDET","GetFieldData", records.i, cd.rwfh)
     
    391629        else iterate
    392630    end
     631    IF options.!debug == 1 THEN SAY time()' '||"_PassiveSave done"
    393632return
    394633
     
    636875
    637876    IF parent == '' THEN DO
    638         CALL VRSet 'PB_DETACH', 'Enabled', 1
     877        CALL VRSet 'PB_DETACH',           'Enabled', 1
    639878        CALL VRSet 'MENU_CONTEXT_DETACH', 'Visible', 1
     879        CALL VRSet 'MENU_CONTEXT_OPEN',   'Visible', 1
     880        CALL VRSet 'MENU_CONTEXT_SEP1',   'Visible', 1
    640881    END
    641882    ELSE DO
    642         CALL VRSet 'PB_DETACH', 'Enabled', 0
     883        CALL VRSet 'PB_DETACH',           'Enabled', 0
    643884        CALL VRSet 'MENU_CONTEXT_DETACH', 'Visible', 0
     885        CALL VRSet 'MENU_CONTEXT_OPEN',   'Visible', 0
     886        CALL VRSet 'MENU_CONTEXT_SEP1',   'Visible', 0
    644887    END
    645     /* Herwig B. */
     888    parse var p_string p_domain':\\'p_server'\'p_share
     889
     890    ok = VRSet("EF_Server","Value", p_server)
     891
    646892    IF options.!debug == 1 THEN SAY time()' CN_CURRENT_Click done'
    647893RETURN
     
    650896*/
    651897CN_CURRENT_ContextMenu: /* PROCEDURE EXPOSE existrec. options. fs. */
    652     /* Herwig B. */
     898    IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_ContextMenu started"
     899
    653900    CALL VRSet "TM_AUTOCLOSE", "ENABLED", 0
    654901
    655902    rh = VRInfo('Record')
    656903
    657     /* Herwig B. */
    658904    /* we have to check whether the record still exists because under certain
    659905       circumstances the event routine is executed after the record was already
    660906       removed */
    661     if VRMethod( 'CN_CURRENT', "ValidateRecord", rh) <> 1 then return
    662     /* Herwig B. */
     907    if VRMethod( 'CN_CURRENT', "ValidateRecord", rh) <> 1 then do
     908        IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_ContextMenu aborted"
     909        return
     910    end
    663911
    664912    data = VRMethod('CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
    665913    PARSE VAR data p_node ';' p_mounts ';' p_string
    666914
    667     IF options.!debug == 1 THEN SAY time()' '||data
    668     IF options.!debug == 1 THEN SAY time()' '||p_node
    669     IF options.!debug == 1 THEN SAY time()' '||p_mounts
    670     IF options.!debug == 1 THEN SAY time()' '||p_string
     915    IF options.!debug == 1 THEN do
     916        SAY '  data =     "'data'"'
     917        SAY '  p_node =   "'p_node'"'
     918        SAY '  p_mounts = "'p_mounts'"'
     919        SAY '  p_string = "'p_string'"'
     920    end
    671921/*
    672922    infotext = p_node
     
    688938
    689939    CALL VRSet 'MENU_CONTEXT_OPEN', 'Visible', 1
     940    CALL VRSet 'MENU_CONTEXT_SEP1', 'Visible', 1
     941    CALL VRSet 'Menu_Context_Open_Default', "Visible", 1
    690942
    691943    IF p_mounts > 0 THEN DO
     
    705957
    706958    IF parent == '' THEN DO
    707         CALL VRSet 'PB_DETACH', 'Enabled', 1
     959        CALL VRSet 'PB_DETACH',           'Enabled', 1
    708960        CALL VRSet 'MENU_CONTEXT_DETACH', 'Visible', 1
     961        CALL VRSet 'MENU_CONTEXT_OPEN',   'Visible', 1
     962        CALL VRSet 'MENU_CONTEXT_SEP1',   'Visible', 1
    709963    END
    710964    ELSE DO
    711         CALL VRSet 'PB_DETACH', 'Enabled', 0
     965        CALL VRSet 'PB_DETACH',           'Enabled', 0
    712966        CALL VRSet 'MENU_CONTEXT_DETACH', 'Visible', 0
     967        CALL VRSet 'MENU_CONTEXT_OPEN',   'Visible', 0
     968        CALL VRSet 'MENU_CONTEXT_SEP1',   'Visible', 0
    713969    END
    714     /* Herwig B. */
    715970
    716971    ok = VRMethod( "Menu_Context", "Popup", , , "", "" )
     972    IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_ContextMenu done"
    717973return
    718974
     
    720976*/
    721977CN_CURRENT_DoubleClick:
    722     call beep 880, 20
    723 say "double click"
     978    IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_DoubleClick started"
     979
     980    CALL VRSet "TM_AUTOCLOSE", "ENABLED", 0
     981
    724982    rh = VRInfo('Record')
    725     /* Herwig B. */
     983
    726984    /* we have to check whether the record still exists because under certain
    727985       circumstances the event routine is executed after the record was already
    728986       removed */
    729     if VRMethod( 'CN_CURRENT', "ValidateRecord", rh) <> 1 then return
    730     /* Herwig B. */
     987    if VRMethod( 'CN_CURRENT', "ValidateRecord", rh) <> 1 then do
     988        IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_DoubleClick aborted"
     989        return
     990    end
    731991
    732992    data = VRMethod('CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
    733     IF options.!debug == 1 THEN SAY time()' '||"data = "data
     993    PARSE VAR data p_node ';' p_mounts ';' p_string
     994
     995    IF options.!debug == 1 THEN do
     996        SAY '  data =     "'data'"'
     997        SAY '  p_node =   "'p_node'"'
     998        SAY '  p_mounts = "'p_mounts'"'
     999        SAY '  p_string = "'p_string'"'
     1000    end
     1001    call Menu_Context_Open_Default_Click
     1002
     1003    IF options.!debug == 1 THEN SAY time()' '||"CN_CURRENT_DoubleClick done"
    7341004return
    7351005
     
    7371007*/
    7381008CN_CURRENT_DragDrop:
    739 say "settings.!network = "settings.!network
    740     p_workgroup    = ''
    741     p_server   = ''
    742     p_share = ''
     1009    IF options.!debug == 1 THEN SAY time()' CN_CURRENT_DragDrop started'
     1010
     1011    IF options.!debug == 1 THEN say "  settings.!network = "settings.!network
     1012
     1013    p_workgroup = ''
     1014    p_server    = ''
     1015    p_share     = ''
    7431016
    7441017    srcFile = VRInfo( "SourceFile" )
     
    7481021    trgRec  = VRInfo( "TargetRecord" )
    7491022
    750 say "srcFile = '"srcFile"'"
    751 say "srcCtn  = '"srcCtn"'"
    752 say "srcRec  = '"srcRec"'"
    753 say "TrgCtn  = '"trgCtn"'"
    754 say "TrgRec  = '"trgRec"'"
    755 
    756     if srcFile <> "" then do /* A file was dropped onto the conatainer - load it */
    757         if translate(VRParseFileName(srcFile,'E')) <> translate(fs.!profileext) then do
    758             buttons.0 = 1
    759             buttons.1 = NLVGetMessage(9)
    760             ok = VRMessage('Main', "TITEL" , "TEXT", 'E','buttons.')
    761         end
    762         else do
     1023    IF options.!debug == 1 THEN do
     1024        say '  srcFile     = "'srcFile'"'
     1025        say '  srcCtn      = "'srcCtn'"'
     1026        if srcCtn <> "" then say '  srcCtn name = "'VRGet(srcCtn,'Name')'"'
     1027        say '  srcRec      = "'srcRec'"'
     1028        say '  trgCtn      = "'trgCtn'"'
     1029        if trgCtn <> "" then say '  trgCtn name = "'VRGet(trgCtn,'Name')'"'
     1030        say '  trgRec      = "'trgRec'"'
     1031    end
     1032
     1033    if srcFile <> "" then do /* A file was dropped onto the container - attempt to load it */
     1034        IF options.!debug == 1 THEN say '  Possible profile dropped: "'srcFile'"'
     1035
     1036        /* was it really a profile ? */
     1037        if translate(VRParseFileName(srcFile,'E')) = translate(fs.!profileext) then do /* Yes - load it! */
    7631038            options.!autoload = 1
    7641039            Profile = srcFile
    7651040            call PB_LOAD_Click
    7661041        end
     1042        else do /* No - barf! */
     1043            buttons.0 = 1
     1044            buttons.1 = NLVGetMessage(9)
     1045            ok = VRMessage('Main', NLVGetMessage(103,srcFile ), NLVGetMessage(5), 'E','buttons.')
     1046        end
     1047        IF options.!debug == 1 THEN SAY time()' CN_CURRENT_DragDrop done (load profile)'
    7671048        return
    7681049    end
    769 
    770     say VRGet(srcCtn,'Name')
    7711050
    7721051    ok = VRMethod("CB_MOUNT", "GetStringList", "ShareLevels." )
     
    7861065        if p_workgroup = "" then ShareLevel = 4
    7871066
    788         ok = VRSet( "CB_MOUNT", "Selected", Sharelevel )
    789         ok = VRset("CB_MOUNT"  , "Value", mtype.sharelevel)
    790 
    791         ok = VRset("EF_SERVER" ,  "Value", p_server)
    792         ok = VRset("EF_SHARE"  ,  "Value", p_share)
     1067        ok = VRSet("CB_MOUNT", "Selected", Sharelevel )
     1068        ok = VRset("CB_MOUNT",  "Value",    mtype.sharelevel)
     1069
     1070        ok = VRset("EF_SERVER",   "Value", p_server)
     1071        ok = VRset("EF_SHARE"  "Value", p_share)
    7931072        ok = VRset("EF_NETWORK",  "Value", p_workgroup)
    794         ok = VRset("EF_USER"   ,  "Value", p_user)
     1073        ok = VRset("EF_USER",     "Value", p_user)
    7951074        ok = VRset("EF_PASSWORD", "Value", p_password)
    7961075
     
    7991078        p_dir = strip(p_dir,'T','\')
    8001079
    801         ok = VRset("CB_DRIVES"      ,  "Value", p_drv)
    802         ok = VRset("EF_DIRECTORY"   , "Value", p_dir)
     1080        ok = VRset("CB_DRIVES"  "Value", p_drv)
     1081        ok = VRset("EF_DIRECTORY", "Value", p_dir)
    8031082    end
    8041083    else do /* SmbTree */
    8051084        DragCapt = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Caption")
    806         parRH = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Parent")
    807 
    808         if parRH = "" then do /* A workgroup was dragged */
     1085        ParentRH = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Parent")
     1086
     1087        if ParentRH = "" then do /* A workgroup was dragged */
    8091088            say "Workgroup dragged!"
    8101089            parse var DragCapt p_workgroup '0D0A'x .
     
    8171096        end
    8181097        else do
    819             ParDragCapt = VRMethod(srcCtn, "GetRecordAttr", ParRH, "Caption")
    820             GParRH = VRMethod(srcCtn, "GetRecordAttr", ParRH, "Parent")
    821 
    822             if GParRH = "" then do /* A server was dragged */
     1098            ParDragCapt = VRMethod(srcCtn, "GetRecordAttr", ParentRH, "Caption")
     1099            GParentRH = VRMethod(srcCtn, "GetRecordAttr", ParentRH, "Parent")
     1100
     1101            if GParentRH = "" then do /* A server was dragged */
    8231102                say "Server dragged!"
    8241103                parse var ParDragCapt p_workgroup '0D0A'x .
     
    8351114            else do /* A share was dragged */
    8361115                say "Share dragged!"
    837                 GParDragCapt = VRMethod(srcCtn, "GetRecordAttr", GParRH, "Caption")
     1116                GParDragCapt = VRMethod(srcCtn, "GetRecordAttr", GParentRH, "Caption")
    8381117
    8391118                parse var GParDragCapt p_workgroup '0D0A'x .
     
    8541133    end
    8551134
    856     say 'p_workgroup    = "'p_workgroup'"'
    857     say 'p_server   = "'p_server'"'
    858     say 'p_share = "'p_share'"'
     1135    IF options.!debug == 1 THEN do
     1136        say 'p_workgroup = "'p_workgroup'"'
     1137        say 'p_server    = "'p_server'"'
     1138        say 'p_share     = "'p_share'"'
     1139    end
    8591140
    8601141    ok = VRSet( "CB_MOUNT", "Selected", Sharelevel )
     
    8941175        if VRMethod("CN_CONDET", "GetRecordAttr", srcRec, "Icon") = '#68:PMWP.DLL' then ok = VRMethod( "CN_CONDET", "RemoveRecord", srcRec)
    8951176    end
     1177    IF options.!debug == 1 THEN SAY time()' CN_CURRENT_DragDrop done'
    8961178return
    8971179
     
    8991181*/
    9001182CN_SMBTREE_Click:
     1183    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_Click started'
    9011184    ok = VRset("DT_StatusBar","Caption", VRGet("Main", "HintText"))
    902     rh = VRInfo('Record')
    903     if VRMethod( 'CN_SMBTREE', "ValidateRecord", rh) <> 1 then return
    904     udata = VRMethod('CN_smbtree', 'GetRecordAttr', rh, 'UserData')
    905     parse var udata udatatype'|'udatamsg
    906 say udatatype
    907 say udatamsg
    908     ok = VRset("DT_Statusbar", "Caption", udatamsg)
    909     drop udatatype
    910     drop udatamsg
    911 
    912 return
    913 
     1185
     1186    call _dropdeprecated
     1187    call _GetSmbObjectProperties VRInfo('Record')
     1188
     1189    ok = VRset("DT_Statusbar", "Caption", SMBObj.udatamsg)
     1190
     1191    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_Click done'
     1192return
    9141193/*:VRX         CN_SMBTREE_ContextMenu
    9151194*/
    9161195CN_SMBTREE_ContextMenu:
    917     rh = VRInfo('Record')
    918     if VRMethod( 'CN_SMBTREE', "ValidateRecord", rh) <> 1 then return
    919 
    920     Icon = VRMethod("CN_SMBTREE", "GetRecordAttr", rh, "Icon")
    921 
    922     ok = VRset("MItem_64","Visible", (Icon = "#35:PMWP.DLL")|(Icon = "#62:PMWP.DLL"))
    923     ok = VRset("Menu_Selected_Info","Visible", (Icon = "#35:PMWP.DLL"))
    924     ok = VRset("Menu_Selected_Default_Workgroup","Visible", (Icon = "#62:PMWP.DLL"))
    925 
    926     if Icon = "#65:PMWP.DLL" then do /* Printer installation not supported at the moment */
    927         /* call _Printerinfo */
    928         CALL VRMessage 'Main', NLVGetMessage( 62 ), NLVGetMessage( 5 ), 'E'
     1196    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_ContextMenu started'
     1197
     1198    call _dropdeprecated
     1199    call _GetSmbObjectProperties VRInfo('Record')
     1200
     1201    /* Hide all context menu entries */
     1202    ok = VRSet("Menu_Selected_Remove",           "Visible", 0) /* CN_CONDET */
     1203    ok = VRSet("Menu_Selected_Retry",            "Visible", 0) /* CN_CONDET */
     1204    ok = VRSet("Menu_Selected_Connect",          "Visible", 0) /* CN_SMBTREE */
     1205    ok = VRSet("Menu_Selected_Sep1",             "Visible", 0) /* CN_SMBTREE */
     1206    ok = VRSet("Menu_Selected_Info",             "Visible", 0) /* CN_SMBTREE */
     1207    ok = VRSet("Menu_Selected_Default_Workgroup","Visible", 0) /* CN_SMBTREE */
     1208
     1209    select
     1210        when SMBObj.udatatype = "DISK" then do
     1211            ok = VRSet("Menu_Selected_Connect", "Visible", 1)
     1212            ok = VRMethod( "Menu_Selected", "Popup", , , "", "" )
     1213        end
     1214        when SMBObj.udatatype = "SERVER" then do
     1215            ok = VRSet("Menu_Selected_Connect",          "Visible", 1)
     1216            ok = VRSet("Menu_Selected_Sep1",             "Visible", 1)
     1217            ok = VRSet("Menu_Selected_Info",             "Visible", 1)
     1218            ok = VRMethod( "Menu_Selected", "Popup", , , "", "" )
     1219        end
     1220        when SMBObj.udatatype = "WORKGROUP" then do
     1221            ok = VRSet("Menu_Selected_Connect",          "Visible", 1)
     1222            ok = VRSet("Menu_Selected_Sep1",             "Visible", 1)
     1223            ok = VRSet("Menu_Selected_Default_Workgroup","Visible", 1)
     1224            ok = VRMethod( "Menu_Selected", "Popup", , , "", "" )
     1225        end
     1226        when SMBObj.udatatype = "PRINTER" then do
     1227            CALL VRMessage 'Main', NLVGetMessage( 62 ), NLVGetMessage( 5 ), 'E'
     1228        end
     1229        otherwise nop /* FILE DIRECTORY */
     1230    end
     1231
     1232    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_ContextMenu done'
     1233return
     1234/*:VRX         CN_SMBTREE_DoubleClick
     1235*/
     1236CN_SMBTREE_DoubleClick:
     1237    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DoubleClick started'
     1238
     1239    call _dropdeprecated
     1240    call _GetSmbObjectProperties VRInfo('Record')
     1241
     1242    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DoubleClick done'
     1243return  /* Enable last 2 lines for 2.0.x (to disable on the fly browsing) */
     1244 
     1245
     1246    IF options.!debug == 1 THEN SAY '  Browsing "'SMBObj.udatatype'"'
     1247
     1248    If SMBObj.udatatype = "DIRECTORY" then do
     1249        BrowsePath = _browsebuildpath(SMBObj.rh)
     1250
     1251        call _BrowseResetObject(SmbObj.rh)
     1252
     1253        parse var browsepath '\\'machine'\'sharename '\' browsepath
     1254        browsepath = browsepath'\*'
     1255
     1256        call _BrowseDirectory       
     1257    end
     1258
     1259    If SMBObj.udatatype = "FILE" then do
     1260        BrowsePath = _browsebuildpath(SMBObj.rh)
     1261        call _BrowseResetObject(SmbObj.rh)
     1262       
     1263        parse var browsepath '\\'machine'\'sharename '\' browsepath
     1264
     1265        OpenOk = _browseobjectopen(machine,sharename,browsepath)
     1266
     1267        if \OpenOK then do
     1268            say "  Not connected - trying to connect"
     1269            ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", sharerh, "Selected", 1)
     1270            call PB_CONNECT_Click
     1271            ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", SMBObj.rh, "Selected", 1)
     1272
     1273            OpenOk = _browseobjectopen(machine,sharename,browsepath)
     1274
     1275            if \OpenOk then do
     1276                say "  Not connected - cannot open - aborting!"
     1277            end
     1278        end
     1279    end
     1280
     1281    if SMBObj.udatatype = "DISK" then do
     1282        machine  = VRMethod("CN_smbtree","GetRecordAttr",SMBObj.parentrh,"Caption")
     1283        parse var machine machine '0D0A'x .
     1284        machine = strip(machine)
     1285
     1286        call _BrowseResetObject(SmbObj.rh)
     1287
     1288        sharename = SMBObj.resname
     1289        BrowsePath = ""
     1290
     1291        call _BrowseDirectory
     1292    end       
     1293    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DoubleClick done'
     1294return
     1295/*:VRX         CN_SMBTREE_DragStart
     1296*/
     1297CN_SMBTREE_DragStart:
     1298    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DragStart started'
     1299
     1300    obj = VRInfo( "object" )
     1301
     1302    ok = VRMethod( "CN_SMBTREE", "GetRecordList", "SourceOrSelected", "SelRH." )
     1303    if SelRH.0 = 0 then do
     1304        IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DragStart aborted'
    9291305        return
    9301306    end
    9311307
    932     /* This is the place to enable specific context menu entries */
    933     ok = VRMethod( "CN_SMBTREE", "GetRecordList", "All", "records." )
    934     ok = VRSet("Menu_Selected_Connect", "Visible", (records.0 <> 0 & (Icon <> "#61:PMWP.DLL") ))
    935 
    936     ok = VRMethod( "Menu_Selected", "Popup", , , "", "" )
    937 return
    938 
    939 /*:VRX         CN_SMBTREE_DragStart
    940 */
    941 CN_SMBTREE_DragStart:
    942 
    943     obj = VRInfo( "object" )
    944     ok = VRMethod( "CN_SMBTREE", "GetRecordList", "SourceOrSelected", "selrec." )
    945     if selrec.0 = 0 then return
    946 
    947     Icon = VRMethod("CN_SMBTREE", "GetRecordAttr", selrec.1, "Icon")
    948 
    949     if Icon = "#65:PMWP.DLL" then do /* Printers not supported at the moment */
    950         CALL VRMessage 'Main', NLVGetMessage( 62 ), NLVGetMessage( 5 ), 'E'
    951     end
    952     else call VRMethod obj, 'StartDrag'
    953 return
    954 
     1308    call _dropdeprecated
     1309    call _GetSMBObjectProperties SelRH.1
     1310
     1311    select
     1312        when SMBObj.udatatype = "WORKGROUP" | SMBObj.udatatype = "SERVER" | SMBObj.udatatype = "DISK" then do
     1313            call VRMethod obj, 'StartDrag'
     1314        end
     1315        when SMBObj.udatatype = "PRINTER" then do
     1316            CALL VRMessage 'Main', NLVGetMessage( 62 ), NLVGetMessage( 5 ), 'E'
     1317        end
     1318        otherwise nop /* FILE DIRECTORY */
     1319    end
     1320
     1321    IF options.!debug == 1 THEN SAY time()' CN_SMBTREE_DragStart done'
     1322return
    9551323/*:VRX         CreateObject
    9561324*/
     
    9581326    Parse Arg Class, Title, Location, Setup, Collision
    9591327    /* Say 'Creating ['Title']' */
     1328say Setup
    9601329    rc = SysCreateObject( Class, Title, Location, Setup, Collision )
    9611330    If rc <> 1 Then do
     
    10541423        ok = VRMethod( "CN_smbtree", "SetRecordAttr", smbtree.!machine, "ReadOnly", 1)
    10551424        ok = VRMethod( "CN_smbtree", "SetFieldData",  smbtree.!machine, NBFH, machine)
     1425        call _UserCredUpdate
    10561426        call _RefreshShares
    10571427    end
     
    14751845Main_Create:
    14761846    ok = VRRedirectStdIO("OFF")
    1477     options.!debug    = 1
     1847    options.!debug    = 0
    14781848
    14791849    IF options.!debug == 1 THEN ok = VRREdirectStdIO("ON")
     
    17652135*/
    17662136Menu_Context_Open_Click:
     2137    ok = VRSet("Menu_Context_Open_Default","Visible",0)
     2138return
     2139
     2140/*:VRX         Menu_Context_Open_Default_Click
     2141*/
     2142Menu_Context_Open_Default_Click:
    17672143    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Click started"
    17682144    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
    17692145    PARSE VAR userdata mountpoint ';' mounts ';' .
    17702146
    1771 
    17722147    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
    1773     IF options.!debug == 1 THEN SAY '  Opening WPS folder "'mountpoint'"'
    1774     call VRSet VRWindow(), 'Pointer', 'Wait'
    1775     rc = SysOpenObject(mountpoint, "DEFAULT", 1)
    1776     call VRSet VRWindow(), 'Pointer', '<default>'
     2148
     2149    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "DEFAULT" )
    17772150
    17782151    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Click done"
     2152return
     2153
     2154/*:VRX         Menu_Context_Open_Detail_Click
     2155*/
     2156Menu_Context_Open_Detail_Click:
     2157    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Details_Click started"
     2158    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
     2159    PARSE VAR userdata mountpoint ';' mounts ';' .
     2160
     2161    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
     2162
     2163    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "DETAILS" )
     2164
     2165    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Details_Click done"
     2166return
     2167
     2168/*:VRX         Menu_Context_Open_Icon_Click
     2169*/
     2170Menu_Context_Open_Icon_Click:
     2171    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Icon_Click started"
     2172    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
     2173    PARSE VAR userdata mountpoint ';' mounts ';' .
     2174
     2175    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
     2176
     2177    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "ICON" )
     2178
     2179    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Icon_Click done"
     2180return
     2181
     2182/*:VRX         Menu_Context_Open_Settings_Click
     2183*/
     2184Menu_Context_Open_Settings_Click:
     2185    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_DetailsClick started"
     2186    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
     2187    PARSE VAR userdata mountpoint ';' mounts ';' .
     2188
     2189    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
     2190
     2191    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "SETTINGS" )
     2192
     2193    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Details_Click done"
     2194return
     2195
     2196/*:VRX         Menu_Context_Open_Splitview_Click
     2197*/
     2198Menu_Context_Open_Splitview_Click:
     2199    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Splitview_Click started"
     2200    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
     2201    PARSE VAR userdata mountpoint ';' mounts ';' .
     2202
     2203    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
     2204
     2205    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "SPLITVIEW" )
     2206
     2207    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Splitview_Click done"
     2208return
     2209
     2210/*:VRX         Menu_Context_Open_Tree_Click
     2211*/
     2212Menu_Context_Open_Tree_Click:
     2213    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Tree_Click started"
     2214    userdata = VRMethod( 'CN_CURRENT', 'GetRecordAttr', rh, 'UserData')
     2215    PARSE VAR userdata mountpoint ';' mounts ';' .
     2216
     2217    if length(mountpoint) > 3 then mountpoint = strip(mountpoint,'T','\')
     2218
     2219    ID = VRMethod( "Application", "StartThread", "wps_open", mountpoint, "TREE" )
     2220
     2221    IF options.!debug == 1 THEN SAY time()' '||"Menu_Context_Open_Tree_Click done"
    17792222return
    17802223
     
    18072250Menu_File_Autostart_Deactivate_Click:
    18082251    ok = SysDestroyObject("<EVFSGUI_AUTOSTART>")
    1809     IF ok == 1 THEN CALL VRMessage 'Main', NLVGetMessage( 79 ), NLVGetMessage( 1 )
    1810                ELSE CALL VRMessage 'Main', NLVGetMessage( 78 ), NLVGetMessage( 5 ), 'E'
     2252    IF ok == 1 THEN do
     2253        Text = NLVGetMessage( 79 )
     2254        if Text = "" then Text = '[Autostart object created successfully]'
     2255        CALL VRMessage 'Main', Text, VRGet("Main", "Caption")
     2256    end
     2257    ELSE do
     2258        Text = NLVGetMessage( 78 )
     2259        if Text = "" then Text = '[Could find Autostart object]'
     2260        Title = NLVGetMessage( 5 )
     2261        if Title = "" then Title = '[Error]'
     2262        CALL VRMessage 'Main', Text, Title, 'E'
     2263    end
    18112264return
    18122265
     
    18672320*/
    18682321Menu_Selected_Default_Workgroup_Click:
    1869     workgroupname = VRMethod("CN_smbtree","GetRecordAttr",rh,"Caption")
     2322    workgroupname = VRMethod("CN_smbtree","GetRecordAttr",SMBObj.rh,"Caption")
    18702323    ok = TRSetIni("[global]","workgroup", workgroupname, samba.!smbconf)
    18712324return
     
    18742327*/
    18752328Menu_Selected_Info_Click:
    1876     ok = VRMethod( "CN_smbtree", "GetRecordList", "SourceOrSelected", "srcrec." )
    1877     if srcrec.0 = 0 then return
    1878 
    1879     Userdata = VRMethod("CN_smbtree","GetRecordAttr",srcrec.1,"Userdata")
    1880     machine = VRMethod("CN_smbtree","GetRecordAttr",srcrec.1,"Caption")
    1881 
    1882     parse var machine  machine '0D0A'x .
    1883     parse var userdata . '|' userdata
    1884 
    1885     say samba.!smbclientexe' -L "'strip(machine)'" -N 'debuglevel' 2>'samba.!msg' 1>NUL'
    1886     address cmd samba.!smbclientexe' -L "'strip(machine)'" -N 'debuglevel' 2>'samba.!msg' 1>NUL'
     2329    IF options.!debug == 1 THEN SAY time()' Menu_Selected_Info_Click started'
     2330
     2331    ok = VRMethod( "CN_smbtree", "GetRecordList", "SourceOrSelected", "SelRH." )
     2332    if SelRH.0 = 0 then do
     2333        IF options.!debug == 1 THEN SAY time()' Menu_Selected_Info_Click aborted'
     2334        return
     2335    end
     2336
     2337    call _GetSMBObjectProperties SelRH.1
     2338   
     2339    IF options.!debug == 1 THEN say '  'samba.!smbclientexe' -L "'SMBObj.resname'" -N 'debuglevel' 2>'samba.!msg' 1>NUL'
     2340    address cmd samba.!smbclientexe' -L "'SMBObj.resname'" -N 'debuglevel' 2>'samba.!msg' 1>NUL'
    18872341    infoline = linein(samba.!msg)
    18882342    if word(infoline,1) = "creating" then do /* upcase tables are missing */
     
    18912345        infoline = linein(samba.!msg)
    18922346    end
    1893     say '"'Infoline'"'
     2347    IF options.!debug == 1 THEN say '  Response = "'Infoline'"'
    18942348    ok = stream(samba.!msg,'c','close')
    18952349    ok = SysFileDelete(samba.!msg)
    18962350
    18972351    window = VRLoadSecondary( "SW_INFO", "W" )
     2352    IF options.!debug == 1 THEN SAY time()' Menu_Selected_Info_Click done'
    18982353return
    18992354
     
    21472602    DO i = 1 TO records.0
    21482603        hash = VRMethod("CN_CONDET","GetFieldData", records.i, cd.hashfh)
    2149         say hash
    2150         say md5
    2151         if hash = md5 & VRMethod("CN_CONDET","GetFieldData", records.i, cd.statusfh) = '#64:PMWP.DLL' then do /* Same hash, status active */
    2152             say "Double connection deteced!!"
    2153             if options.!spassword <> "" then upw = ":********"
    2154             else upw = ""
    2155             buttons.0 = 2
    2156             buttons.1 = NLVGetMessage(9)
    2157             buttons.2 = NLVGetMessage(3)
    2158             Answer = VRMessage('Main',NLVGetMessage(64) , NLVGetMessage( 36,options.!user||upw'@'options.!workgroup'\\'options.!server'\'options.!share, vfs.!mountpoint ), 'W','buttons.')
    2159             if Answer = 2 then do
    2160                 call VRSet VRWindow(), 'Pointer', '<default>'
    2161                 say "Double connection - do not mount!!"
    2162                 return
     2604
     2605        IF options.!debug == 1 THEN say VRMethod("CN_CONDET","GetFieldData", records.i, CD.mpointFH)'->'hash
     2606        IF options.!debug == 1 THEN say mpoint'->'md5
     2607
     2608        if hash = md5 then do
     2609            If VRMethod("CN_CONDET","GetFieldData", records.i, cd.statusfh) = '#64:PMWP.DLL' then do /* Same hash, status active */
     2610                say "Double connection detected!!"
     2611                if options.!spassword <> "" then upw = ":********"
     2612                else upw = ""
     2613                buttons.0 = 2
     2614                buttons.1 = NLVGetMessage(9)
     2615                buttons.2 = NLVGetMessage(3)
     2616                Answer = VRMessage('Main',NLVGetMessage(64) , NLVGetMessage( 36,options.!user||upw'@'options.!workgroup'\\'options.!server'\'options.!share, vfs.!mountpoint ), 'W','buttons.')
     2617                if Answer = 2 then do
     2618                    call VRSet VRWindow(), 'Pointer', '<default>'
     2619                    say "Double connection - do not mount!!"
     2620                    return
     2621                end
     2622            end
     2623            else do /* Same hash, status passive - we have to remove it */
     2624                ok = VRMethod("CN_CONDET", "RemoveRecord", records.i )
    21632625            end
    21642626        end
     
    24242886/*:VRX         PB_AUTOSTART_Click
    24252887*/
    2426 PB_AUTOSTART_Click: PROCEDURE EXPOSE settings. options. Profile fs. cd. advanced. samba.
     2888PB_AUTOSTART_Click: /* PROCEDURE EXPOSE settings. options. Profile fs. cd. advanced. samba. */
    24272889    options.!autostart = 1
    2428     Profile = VRParseFilename(settings.!ini,'DPN')'.'fs.!profileext
     2890
     2891    Profile    = VRParseFilename(settings.!ini,'DPN')'.'fs.!profileext
     2892    ExeName    = VRParseFileName(VRget("Application","Program"),'DPNE')
     2893    if ExeName = "" then do
     2894        parse source . . script
     2895        ExeName = VRParseFilename(script,'DP')'\EVFSGUI.EXE'
     2896    end
     2897    StartupDir = VRParseFileName(VRget("Application","Program"),'DP')
     2898    if StartupDir = "" then do
     2899        parse source . . script
     2900        StartUpDir = VRParseFilename(script,'DP')
     2901    end
     2902   
     2903    ObjTitle   = NLVGetMessage( 59 )
     2904    if ObjTitle = "" then ObjTitle = '[EVFS LAN-Connections]'
    24292905
    24302906    CALL PB_SAVE_Click
    24312907
    2432     rc = CreateObject( 'WPProgram', NLVGetMessage( 59 ),'<WP_START>',,
    2433             'EXENAME='||VRParseFileName(VRget("Application","Program"),'DPNE')||';'||,
     2908    rc = CreateObject( 'WPProgram', ObjTitle,'<WP_START>',,
     2909            'EXENAME='||ExeName||';'||,
    24342910            'PROGTYPE=PM;'||,
    2435             'TITLE='NLVGetMessage( 59 )';'||,
     2911            'TITLE='ObjTitle';'||,
    24362912            'PARAMETERS='Profile' -AUTOCLOSE -NOGUI;'||,
    2437             'STARTUPDIR='VRParseFileName(VRget("Application","Program"),'DP')';'||,
     2913            'STARTUPDIR='StartupDir';'||,
    24382914            'NOPRINT=YES;'||,
    24392915            'HIDEBUTTON=DEFAULT;'||,
     
    24442920        'REPLACE' )
    24452921
    2446     IF rc == 1 THEN CALL VRMessage 'Main', NLVGetMessage( 60 ), NLVGetMessage( 1 )
    2447                ELSE CALL VRMessage 'Main', NLVGetMessage( 61 ), NLVGetMessage( 5 ), 'E'
     2922    IF rc == 1 THEN do
     2923        Text = NLVGetMessage( 60 )
     2924        if Text = "" then Text = '[Created object in Autostart-Folder]'
     2925        CALL VRMessage 'Main', Text, VRGet("Main", "Caption")
     2926    end
     2927    ELSE do
     2928        Text = NLVGetMessage( 61 )
     2929        if Text = "" then Text = '[Could not create object in Autostart-Folder]'
     2930        Title = NLVGetMessage( 5 )
     2931        if Title = "" then Title = '[Error]'
     2932        CALL VRMessage 'Main', Text, Title, 'E'
     2933    end
    24482934
    24492935    options.!autostart = 0
     
    24772963        btns.0 = 2
    24782964        btns.1 = NLVGetMessage( 6 )
     2965        if btns.1 = "" then btns.1 = '[Yes]'
    24792966        btns.2 = NLVGetMessage( 7 )
    2480         confirm = VRMessage('Main', NLVGetMessage( 54, filename ), NLVGetMessage( 53 ), 'W', 'btns.', 1, 2 )
     2967        if btns.2 = "" then btns.2 = '[No]'
     2968        Title = NLVGetMessage( 53 )
     2969        if Title = "" then Title = "[File exists]"
     2970        Text = NLVGetMessage( 54, filename )
     2971        if Text = "" then Text = "[File "filename" exists? Overwrite?]"
     2972
     2973        confirm = VRMessage('Main', Text, Title, 'W', 'btns.', 1, 2 )
    24812974        IF confirm \= 1 THEN RETURN
    24822975        CALL VRChAttr filename,, 'HSR'
     
    25093002    CALL STREAM filename, 'C', 'CLOSE'
    25103003
    2511     if options.!autostart == 0 THEN CALL VRMessage 'Main', NLVGetMessage( 52, filename ), NLVGetMessage( 51 ), 'I'
     3004    if options.!autostart == 0 THEN do
     3005        Title = NLVGetMessage( 51 )
     3006        if Title = "" then Title = "[Profile saved]"
     3007        Text = NLVGetMessage( 52, filename )
     3008        if Text = "" then Text = "[Profile saved to "filename"!]"
     3009        CALL VRMessage 'Main', Text , Title, 'I'
     3010    end
    25123011
    25133012    IF options.!debug == 1 THEN SAY time()' '||"PB_CONDET_SAVE_Click done"
     
    25183017PB_CONNECT_Click: PROCEDURE EXPOSE settings. options. fs. advanced. cd. samba.
    25193018    IF options.!debug == 1 THEN SAY time()' '||"PB_CONNECT_Click started"
     3019
     3020    ok = VRMethod( "CN_SMBTREE", "GetRecordList", "Selected", "SelRH." )
     3021
     3022    if SelRH.0 = 0 then do
     3023        IF options.!debug == 1 THEN SAY time()' '||"PB_CONNECT_Click aborted"
     3024        return
     3025    end
     3026
    25203027    p_workgroup = ''
    25213028    p_server    = ''
    25223029    p_share     = ''
    25233030
    2524     ok = VRMethod( "CN_SMBTREE", "GetRecordList", "Selected", "handle." )
    2525 
    2526     say "handle.0="handle.0
    2527 
    2528     if handle.0 = 0 then return
    2529 
    2530     srcCtn = "CN_SMBTree"
    2531     srcRec = handle.1
    2532     trgCtn = "CN_Current"
    2533     trgRec = ""
     3031    srcFile = ""
     3032    srcCtn  = VRGet("CN_SMBTREE","Self")
     3033    srcRec  = SelRH.1
     3034    trgCtn  = VRGet("CN_CURRENT","Self")
     3035    trgRec  = ""
     3036
     3037    IF options.!debug == 1 THEN do
     3038        say '  srcCtn      = "'srcCtn'"'
     3039        if srcCtn <> "" then say '  srcCtn name = "'VRGet(srcCtn,'Name')'"'
     3040        say '  srcRec      = "'srcRec'"'
     3041        say '  trgCtn      = "'trgCtn'"'
     3042        if trgCtn <> "" then say '  trgCtn name = "'VRGet(trgCtn,'Name')'"'
     3043        say '  trgRec      = "'trgRec'"'
     3044    end
    25343045
    25353046    ok = VRMethod("CB_MOUNT", "GetStringList", "ShareLevels." )
    25363047
    2537     say VRGet(srcCtn,'Name')
    2538     say "TargetRecord = '"trgRec"'"
    2539 
    25403048    DragCapt = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Caption")
    2541     parRH = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Parent")
    2542 
    2543     if parRH = "" then do /* A workgroup was dragged */
     3049    ParentRH = VRMethod(srcCtn, "GetRecordAttr", srcRec, "Parent")
     3050
     3051    if ParentRH = "" then do /* A workgroup was dragged */
    25443052        say "Workgroup dragged!"
    25453053        parse var DragCapt p_workgroup '0D0A'x .
     
    25523060    end
    25533061    else do
    2554         ParDragCapt = VRMethod(srcCtn, "GetRecordAttr", ParRH, "Caption")
    2555         GParRH = VRMethod(srcCtn, "GetRecordAttr", ParRH, "Parent")
    2556 
    2557         if GParRH = "" then do /* A server was dragged */
     3062        ParDragCapt = VRMethod(srcCtn, "GetRecordAttr", ParentRH, "Caption")
     3063        GParentRH = VRMethod(srcCtn, "GetRecordAttr", ParentRH, "Parent")
     3064
     3065        if GParentRH = "" then do /* A server was dragged */
    25583066            say "Server dragged!"
    25593067            parse var ParDragCapt p_workgroup '0D0A'x .
     
    25703078        else do /* A share was dragged */
    25713079            say "Share dragged!"
    2572             GParDragCapt = VRMethod(srcCtn, "GetRecordAttr", GParRH, "Caption")
     3080            GParDragCapt = VRMethod(srcCtn, "GetRecordAttr", GParentRH, "Caption")
    25733081
    25743082            parse var GParDragCapt p_workgroup '0D0A'x .
     
    25883096    end
    25893097
    2590     say 'p_workgroup    = "'p_workgroup'"'
     3098    say 'p_workgroup = "'p_workgroup'"'
    25913099    say 'p_server   = "'p_server'"'
    25923100    say 'p_share = "'p_share'"'
     
    27253233        options.!master     = master
    27263234        options.!mastertype = mtype
    2727         options.!memlen     = memlen
     3235/*      options.!memlen     = memlen
     3236        options.!logfile    = logfile
     3237        options.!loglevel   = loglevel */
    27283238        options.!easupport  = easupport
    2729         options.!logfile    = logfile
    2730         options.!loglevel   = loglevel
    27313239
    27323240        IF rwFlag == 'R' THEN
     
    29933501
    29943502    adv_changed  = 1
    2995     if adv_debug == 1 then ok = VRRedirectStdio("ON")
    2996                       else ok = VRRedirectStdio("OFF")
     3503    if adv_debug == 1 then do
     3504        ok = VRRedirectStdio("ON")
     3505        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.mpidxfh ,       "Visible", 1)
     3506        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.passwordfh ,    "Visible", 1)
     3507        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.spasswordfh ,   "Visible", 1)
     3508        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.masterFH ,      "Visible", 1)
     3509        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.mtypeFH ,       "Visible", 1)
     3510        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.memlenfh ,      "Visible", 1)
     3511        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.logfilefh ,     "Visible", 1)
     3512        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.loglevelfh ,    "Visible", 1)
     3513        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.hashfh ,        "Visible", 1)
     3514    end
     3515    else do
     3516        ok = VRRedirectStdio("OFF")
     3517        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.mpidxfh ,       "Visible", 0)
     3518        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.passwordfh ,    "Visible", 0)
     3519        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.spasswordfh ,   "Visible", 0)
     3520        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.masterFH ,      "Visible", 0)
     3521        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.mtypeFH ,       "Visible", 0)
     3522        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.memlenfh ,      "Visible", 0)
     3523        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.logfilefh ,     "Visible", 0)
     3524        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.loglevelfh ,    "Visible", 0)
     3525        ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.hashfh ,        "Visible", 0)
     3526    end
    29973527
    29983528    CALL SW_SETTINGS_Close
     
    30703600            leave
    30713601        end
    3072         IF options.!debug == 1 THEN say "  "||VRMethod( "CN_CONDET", "GetFieldData", rh.i, cd.statusfh)
     3602        IF options.!debug == 1 THEN say '  Icon.'i' = "'||VRMethod( "CN_CONDET", "GetFieldData", rh.i, cd.statusfh)'"'
    30733603        if VRMethod("CN_CONDET","GetFieldData", rh.i, cd.statusfh) = '#64:PMWP.DLL' then CALL VRMethod 'CN_CONDET', 'RemoveRecord', rh.i
    30743604    end
    30753605
    3076 /* call _AddTemplates */
     3606/*  call _AddTemplates */
    30773607    CALL VRSet "PB_DETACH",  "Enabled", 0
    30783608    CALL VRSet "PB_UNMOUNT", "Enabled", 0
    30793609
    3080     ok = VRSet("Menu_Context_Detach",  "Visible",  0)
    3081     ok = VRSet("Menu_Context_Unmount", "Visible",  0)
    3082     ok = VRSet("Menu_Context_Edit",    "Visible",  0)
    3083 
    3084     ok = VRSet("Menu_Selected_Remove", "Visible",  0)
    3085     ok = VRSet("Menu_Selected_Retry",  "Visible",  0)
     3610    ok = VRSet("MENU_CONTEXT_OPEN",    "Visible",  0)
     3611    ok = VRSet("MENU_CONTEXT_SEP1",    "Visible",  0)
     3612    ok = VRSet("MENU_CONTEXT_DETACH",  "Visible",  0)
     3613    ok = VRSet("MENU_CONTEXT_UNMOUNT", "Visible",  0)
     3614    ok = VRSet("MENU_CONTEXT_EDIT",    "Visible",  0)
     3615
     3616    ok = VRSet("MENU_SELECTED_REMOVE", "Visible",  0)
     3617    ok = VRSet("MENU_SELECTED_RETRY",  "Visible",  0)
    30863618
    30873619    IF options.!debug == 1 THEN SAY '  Remove records, disable buttons done.'
     
    33113843
    33123844    Info.!status = VRMethod( "CN_INFO", "AddRecord")
    3313     ok = VRMethod( "CN_INFO", "SetFieldData", Info.!status, Info.TypeFH, strip(NLVGetMessage(67),'T',':'),Info.ValueFH, Userdata )
     3845    ok = VRMethod( "CN_INFO", "SetFieldData", Info.!status, Info.TypeFH, strip(NLVGetMessage(67),'T',':'),Info.ValueFH, SMBObj.udatamsg )
    33143846
    33153847return
     
    34423974    CALL NLVSetText 'SW_PROGRESS',  'Caption', 1
    34433975    CALL NLVSetText 'DT_PROGRESS',  'Caption', 34
     3976    CALL NLVSetText 'PB_PROGRESS_ABORT',  'Caption', 3
    34443977    CALL VRSet "TM_TheCloser","Enabled", 1
    34453978return
     
    35764109    ok = VRSet("Pict_Throbber","PicturePath","#"pidx)
    35774110return
    3578 
  • branches/guitools-2.0/evfsgui/evfsi_de.mkm

    r410 r450  
    101101EVG0093I: Betriebsystem:
    102102EVG0094I: ~™ffnen
    103 EVG0095?:
    104 EVG0096?:
    105 EVG0097?:
    106 EVG0098?:
    107 EVG0099?:
     103EVG0095I: ~Symbolanzeige
     104EVG0096I: Stru~kturanzeige
     105EVG0097I: ~Detailanzeige
     106EVG0098I: Einstell~ungen
     107EVG0099I: ~Geteilte Anzeige
    108108; Fatal error messages
    109109EVG0100I: Konnte EVFSCALL.DLL nicht laden - Fortsetzung nicht m”glich.
    110110EVG0101I: EVFS Steuerprogramm ist nicht gestartet - Fortsetzung nicht m”glich.
    111111EVG0102I: Konnte %1 nicht laden - Verbindungen konnten nicht wiederhergestellt werden.
     112EVG0103I: %1 ist keine Profildatei!
  • branches/guitools-2.0/evfsgui/evfsi_en.mkm

    r410 r450  
    101101EVG0093I: Operating System
    102102EVG0094I: ~Open
    103 EVG0095?:
    104 EVG0096?:
    105 EVG0097?:
    106 EVG0098?:
    107 EVG0099?:
     103EVG0095I: ~Icons
     104EVG0096I: ~Tree
     105EVG0097I: ~Details
     106EVG0098I: ~Settings
     107EVG0099I: S~plit view
    108108; Fatal error messages
    109109EVG0100I: Failed to load EVFSCALL.DLL - cannot continue.
    110110EVG0101I: EVFS Control Program is not running - cannot continue.
    111111EVG0102I: Failed to load %1 - could not establish connections.
     112EVG0103I: %1 is not a profile!
  • branches/guitools-2.0/evfsgui/evfsi_fr.mkm

    r410 r450  
    116116EVG0102I: chec
    117117 l'ouverture de %1 - les connexions n'ont pas pu ˆtre ‚tablies.
     118EVG0103I: %1 n'est pas une fichier de profil!
  • branches/guitools-2.0/evfsgui/readme.txt

    r394 r450  
    1 EVFSGUI Version 2.0.2 (eCS 2.0 GA level)
     1EVFSGUI Version 2.0.4 (eCS 2.0 GA level)
    22========================================
    33
  • branches/guitools-2.0/shared/nlv.vrs

    r410 r450  
    6969                if nlvmsg.0 = 1 then do
    7070                    say "  Found  NLV "Suffix" file in subdirectory"
    71                     settings.!messages = VRParseFilename(nlvmsg.1,"DPN")'.msg'
     71                    NLVFile = VRParseFilename(nlvmsg.1,"DPN")'.'Suffix
    7272                    say "  Adding NLV "Suffix" path to "PathVar
    7373                    OldPathVar = value(PathVar,,"OS2ENVIRONMENT")
     
    128128    PARSE VAR msgtxt message '0D'x .
    129129
    130     IF translate(SUBSTR( message, 1, 4 )) == 'SYS0' THEN message = ''
     130    IF translate(SUBSTR( message, 1, 4 )) == 'SYS0' THEN message = '[Missing message 'msgnum'!]'
    131131
    132132RETURN message
  • branches/guitools-2.0/shared/rxrpclib.vrs

    r405 r450  
    344344            leave
    345345        end
     346        if pos("TDB(", translate(rpcline)) > 0 then do
     347            Failure = 1
     348            /* provide a fake NT_STATUS */
     349            rpcline = 'NT_STATUS_TDBERROR 'rpcline
     350            leave
     351        end
     352
    346353        parse var rpcline token ':' tvalue
    347354        token = translate(strip(strip(translate(token),'L','09'x)),'_',' ')
  • branches/guitools-2.0/shared/smbtree.vrs

    r393 r450  
    175175    smbmachine = TempDir||"smbmachine."||machine
    176176
     177    if UserCred   = 'USERCRED'   | UserCred = '' | UserCred = '--user=%' then UserCred = '-N'
     178
    177179    say       '  detach 'samba.!smbclientexe' -L "'strip(machine)'" 'UserCred' 'debuglevel' 1>'smbmachine' 2>NUL'
    178180    address cmd 'detach 'samba.!smbclientexe' -L "'strip(machine)'" 'UserCred' 'debuglevel' 1>'smbmachine' 2>NUL'
     181
     182    if UserCred = '-N' then UserCred = ''
    179183
    180184    RefreshMode = "SHARE"
     
    259263
    260264                select
    261                     when type = "DISK"    then res = '#34:PMWP.DLL'
     265                    when type = "DISK"    then res = '#64:PMWP.DLL'
    262266                    when type = "PRINTER" then res = '#65:PMWP.DLL'
    263267                    when type = "IPC"     then res = '#59:PMWP.DLL'
     
    306310        else say '  Got "'stat'" for "'smbmachine.I'"'
    307311    end
     312
     313    if UserCred = '-N' then UserCred = ''
     314
    308315    say time()' _AddSharesDisplay() loop end'
    309316return
Note: See TracChangeset for help on using the changeset viewer.