Changeset 894
- Timestamp:
- Mar 12, 2016, 2:44:59 PM (9 years ago)
- Location:
- trunk/guitools
- Files:
-
- 3 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/guitools/evfsgui/changes
r875 r894 13 13 under all conditions 14 14 15 Version 2.5.0 2014-??-?? 15 Version 2.5.0 2016-??-?? 16 + Added: [ALT] Now detects whether running under Blue Lion OS 17 + Added: [ALT] "Trac wiki markup" setting on About window now saved in INI 18 ! Fixed: [ALT] "Trac wiki markup" setting on About window is now honoured correctly 19 + Added: [ALT] Implemented better fallback logic for locating plugin when look4dll 20 is not present 21 * Changed: [ALT] Copying About string to clipboard now adds tabs for readability 22 * Changed: [ALT] Removed enforcement of minimum frame size and replaced with logic 23 to switch from resizing to clipping below a certain size; this 24 fixes nasty jittering and inconsistent sizing behaviour when 25 resizing, especially on low resolution screens. 26 * Changed: [ALT] Language file stem is now limited to the first 6 characters of 27 the executable name. 16 28 + Added: Detect when master browser suffers from broken databases 17 29 + Added: If browsing is not allowed for user, retry as guest (useful for print -
trunk/guitools/evfsgui/evfsgui.vrp
r875 r894 3 3 VRX: wps_open.VRX 4 4 VXOFile: VROBJEX 5 VXOFile: VRSPLIT 5 6 ClassFile: VRSPLITB.DLL 6 MacroPath: VRM: U:\Develop\Samba\trunk\guitools\evfsgui7 MacroPath: VRM:G:\netlabs\svn\samba\trunk\guitools\evfsgui 7 8 EXEPath: 8 9 RunParameters: 9 RunDirectory: U:\Develop\Samba\trunk\guitools\evfsgui10 VRXWindow: __VREMainWindow,1,1 963,2361,1012,784111 VRXWindow: __VREFileListWindow,1,2 204,7950,2665,335812 VRXWindow: __VRESectionListWindow,1, 1168,12382,12238,691413 VRXWindow: __VREToolsWindow,1, 3084,12479,5468,166514 VRXWindow: __VREWindListWindow,1, 650,10262,4963,315010 RunDirectory: G:\netlabs\svn\samba\trunk\guitools\evfsgui 11 VRXWindow: __VREMainWindow,1,1831,2457,1012,7841 12 VRXWindow: __VREFileListWindow,1,2072,7950,2665,3358 13 VRXWindow: __VRESectionListWindow,1,217,13057,12238,6914 14 VRXWindow: __VREToolsWindow,1,2951,12479,5468,1669 15 VRXWindow: __VREWindListWindow,1,566,10262,4963,3150 15 16 UserFile: 1 16 17 UserWindow: Main,1 18 UserWindow: SW_ADVANCED,1 19 UserWindow: SW_LOGIN,1 20 UserWindow: SW_MOUNTPOINT,1 21 UserWindow: SW_SETTINGS,1 22 UserWindow: SW_ABOUT,1 23 UserWindow: SW_SMBTREE,1 24 UserWindow: SW_CONDET,1 -
trunk/guitools/evfsgui/evfsgui.vrx
r875 r894 91 91 __VXREXX____APPENDS__: 92 92 /* 93 #append U:\Develop\Samba\trunk\guitools\shared\cltinit.vrs94 #append U:\Develop\Samba\trunk\guitools\shared\inittempdir.vrs95 #append U:\Develop\Samba\trunk\guitools\shared\nlv.vrs96 #append U:\Develop\Samba\trunk\guitools\shared\rexx_md5.vrs97 #append U:\Develop\Samba\trunk\guitools\shared\smbtree.vrs98 #append U:\Develop\Samba\trunk\guitools\shared\textini.vrs99 #append U:\Develop\Samba\trunk\guitools\shared\usercredmem.vrs100 #append U:\Develop\Samba\trunk\guitools\shared\rxrpclib.vrs93 #append ..\shared\cltinit.vrs 94 #append ..\shared\inittempdir.vrs 95 #append ..\shared\nlv.vrs 96 #append ..\shared\rexx_md5.vrs 97 #append ..\shared\smbtree.vrs 98 #append ..\shared\textini.vrs 99 #append ..\shared\usercredmem.vrs 100 #append ..\shared\rxrpclib.vrs 101 101 */ 102 102 return 103 103 /*:VRX _AboutSambaClientGetInfo 104 104 */ 105 _AboutSambaClientGetInfo: 105 _AboutSambaClientGetInfo: 106 106 call VRSet "SW_ABOUT", "Painting", 0 107 if VRGet("CB_TRAC","set") then BR = '[[BR]]' 108 else BR = '' 109 110 ok = VRMethod( "CN_About", "RemoveRecord", "All" ) 107 BR = '' 108 109 ok = VRMethod( "CN_About", "RemoveRecord", "All" ) 111 110 112 111 /* OS Version */ 113 if VRFileExists(SysBootDrive()||"\ECS\ECS_INST.FLG" ) then do 112 if VRFileExists(SysBootDrive()||"\SYS\ARCANOAE.FLG" ) then do 113 OS = linein(SysBootDrive()||"\SYS\ARCANOAE.FLG") 114 OS = subword(OS,1,2) '('translate(word(OS,3))')' 115 ok = stream(SysBootDrive()||"\SYS\ARCANOAE.FLG",'c','close') 116 end 117 else if VRFileExists(SysBootDrive()||"\ECS\ECS_INST.FLG" ) then do 114 118 OS = linein(SysBootDrive()||"\ECS\ECS_INST.FLG") 115 OS = s trip(left(OS,pos(word(OS,4),OS)-1))119 OS = subword(OS,1,3) 116 120 ok = stream(SysBootDrive()||"\ECS\ECS_INST.FLG",'c','close') 117 121 end … … 125 129 ok = VRMethod("CN_ABOUT", "SetFieldData", DummyRH, About.DscFH, "File system", About.ValFH, fs.!name' Version 'fs.!version) 126 130 ABoutStr = "Samba Client Versions:"||BR 127 AboutStr = AboutStr||'0D0A'x||"File system "|| fs.!name' Version 'fs.!version||BR131 AboutStr = AboutStr||'0D0A'x||"File system "||'09'x||fs.!name' Version 'fs.!version||BR 128 132 plugindll. ="" 129 133 134 /* Plugin */ 130 135 address cmd 'look4dll.exe ndpsmb.dll >'samba.!msg 131 136 if RC <> 0 then do 132 /* Plugin */ 133 NDFSDir = value("NDFSDIR",,"OS2ENVIRONMENT") 134 if NDFSDir = "" then NDFSDir = SysBootDrive()'\ecs\dll' 135 ok = SysFileTree(NDFSDir'\ndpsmb.dll', "plugindll.", 'FOS') 137 /* Look4DLL not installed or failed, try fallback search */ 138 if rc == 1041 then do /* look4dll not found, use REXX-based search */ 139 pluginpath = _DLLSearch('ndpsmb.dll') 140 if pluginpath <> '' then do 141 plugindll.0 = 1 142 plugindll.1 = pluginpath 143 end 144 end 145 else plugindll.0 = 0 146 /* DLL is not in libpath; as a last resort, check some well-known places */ 147 if plugindll.0 < 1 then do 148 NDFSDir = value("NDFSDIR",,"OS2ENVIRONMENT") 149 if NDFSDir = "" then do 150 OSDir = value("OSDIR",,"OS2ENVIRONMENT") 151 if OSDir == '' then OSDir = SysBootDrive()'\os2' 152 NDFSDir = OSDir'\dll' 153 end 154 ok = SysFileTree(NDFSDir'\ndpsmb.dll', "plugindll.", 'FOS') 155 end 136 156 end 137 157 else do … … 149 169 DummyRH.1 = VRMethod('CN_About', 'AddRecord') 150 170 ok = VRMethod("CN_ABOUT", "SetFieldData", DummyRH.1, About.DscFH, "Plugin file", About.ValFH, plugindll.J) 151 AboutStr = AboutStr||'0D0A'x||"Plugin file " plugindll.J||BR171 AboutStr = AboutStr||'0D0A'x||"Plugin file "||'09'x||plugindll.J||BR 152 172 153 173 address cmd 'bldlevel.exe 'plugindll.J' >'samba.!msg … … 172 192 DummyRH = VRMethod('CN_About', 'AddRecord') 173 193 ok = VRMethod("CN_ABOUT", "SetFieldData", DummyRH, About.DscFH, "Plugin "Desc, About.ValFH, strip(Vers)) 174 AboutStr = AboutStr||'0D0A'x||"Plugin "Desc " "strip(Vers)||BR194 AboutStr = AboutStr||'0D0A'x||"Plugin "Desc '09'x||strip(Vers)||BR 175 195 end 176 196 end … … 197 217 DummyRH = VRMethod('CN_About', 'AddRecord') 198 218 ok = VRMethod("CN_ABOUT", "SetFieldData", DummyRH, About.DscFH, "Commandline utilities", About.ValFH, ClutVer) 199 AboutStr = AboutStr||'0D0A'x||"Commandline utilities "|| ClutVer||BR219 AboutStr = AboutStr||'0D0A'x||"Commandline utilities "||'09'x||ClutVer||BR 200 220 201 221 /* GUI Version */ 202 222 DummyRH = VRMethod('CN_About', 'AddRecord') 203 223 ok = VRMethod("CN_ABOUT", "SetFieldData", DummyRH, About.DscFH, "EVFSGUI", About.ValFH, VRGet("Main", "HintText")) 204 AboutStr = AboutStr||'0D0A'x||"EVFSGUI "||VRGet("Main", "HintText")||BR224 AboutStr = AboutStr||'0D0A'x||"EVFSGUI "||'09'x || VRGet("Main", "HintText")||BR 205 225 call VRSet "SW_ABOUT", "Painting", 1 206 226 return … … 215 235 /*:VRX _BrowseBuildPath 216 236 */ 217 _BrowseBuildPath: procedure expose options. icons. samba. sharerh 237 _BrowseBuildPath: procedure expose options. icons. samba. sharerh 218 238 if options.!debug == 1 then say time()' _BrowseBuildPath started' 219 239 rh = arg(1) … … 221 241 finished = 0 222 242 BrowsePathStr = '' 223 243 224 244 do while \finished 225 245 parentrh = VRMethod("CN_SMBTREE","GetRecordAttr",rh,"Parent") … … 230 250 resname = strip(resname) 231 251 /* say " Not connected - cannot open!" */ 232 select 252 select 233 253 when udatatype = "SERVER" then do 234 254 BrowsePathStr = '\\'resname'\'BrowsePathStr … … 254 274 */ 255 275 _BrowseDirectory: /* This must not be a procedure */ 256 if options.!debug == 1 then say time()' _BrowseDirectory started' 276 if options.!debug == 1 then say time()' _BrowseDirectory started' 257 277 258 278 /* Turn off painting */ … … 261 281 262 282 /* Make sure credentials are usable */ 263 if UserCred = 'USERCRED' | UserCred = '' | UserCred = '--user=%' then UserCred = '-N' 283 if UserCred = 'USERCRED' | UserCred = '' | UserCred = '--user=%' then UserCred = '-N' 264 284 265 285 /* We have to remove the double % for smbclient.exe - not entirely clear why */ … … 275 295 address cmd samba.!smbclientexe' \\'machine'\'sharename' 'UserCred' --command="dir 'browsepath'" 'debuglevel' 2>NUL 1>'samba.!msg 276 296 277 if UserCred = '-N' then UserCred = '' 297 if UserCred = '-N' then UserCred = '' 278 298 279 299 if OldUserCred <> "" then do … … 329 349 when wordpos(Ext, 'ZIP') > 0 then ficon = icons.!zip 330 350 when wordpos(Ext, 'INF HLP') > 0 then ficon = icons.!view 331 when wordpos(Ext, 'TXT') > 0 then ficon = icons.!p aintext351 when wordpos(Ext, 'TXT') > 0 then ficon = icons.!plaintext 332 352 otherwise ficon = icons.!defaultfile /* default file icon */ 333 353 end … … 340 360 341 361 ok = VRmethod("CN_SMBTREE", "SetRecordAttr", fh.I, "userdata", ftype'|'fsize' Bytes 'fday'-'fmonth'-'fyear' 'ftime,'icon',Ficon) 342 362 343 363 end 344 364 otherwise nop /* no other line type */ … … 353 373 call VRSet VRWindow(), 'Pointer', '<default>' 354 374 ok = VRSet("CN_SMBTREE","Painting", 1 ) 355 if options.!debug == 1 then say time()' _BrowseDirectory done' 375 if options.!debug == 1 then say time()' _BrowseDirectory done' 356 376 return 357 377 358 378 /*:VRX _BrowseObjectOpen 359 379 */ 360 _BrowseObjectOpen: procedure expose samba. options. cd. icons. 380 _BrowseObjectOpen: procedure expose samba. options. cd. icons. 361 381 machine = arg(1) 362 382 sharename = arg(2) … … 368 388 369 389 DO i = 1 TO records.0 370 if VRMethod( "CN_CONDET", "GetFieldData", records.i, CD.StatusFH) = icons.!active then do 390 if VRMethod( "CN_CONDET", "GetFieldData", records.i, CD.StatusFH) = icons.!active then do 371 391 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) 372 392 if machine = VRMethod( "CN_CONDET", "GetFieldData", records.i, CD.ServerFH) &, … … 389 409 390 410 /* Remove all files and directories whose parent is our share */ 391 ok = VRMethod( "CN_SMBTREE", "GetRecordList", "All", "AllRH." ) 411 ok = VRMethod( "CN_SMBTREE", "GetRecordList", "All", "AllRH." ) 392 412 do I = 1 to AllRH.0 393 413 AllParentRH = VRMethod("CN_SMBTREE","GetRecordAttr",AllRH.I,"Parent") 394 if AllParentRH = rh then ok = VRMethod( "CN_SMBTREE", "RemoveRecord", AllRH.I ) 414 if AllParentRH = rh then ok = VRMethod( "CN_SMBTREE", "RemoveRecord", AllRH.I ) 395 415 end 396 416 ok = VRSet("CN_SMBTREE","Painting", 1 ) … … 451 471 NBFH = VRMethod( "CN_smbtree", "AddField", "String", "NetBIOS name" ) 452 472 IpFH = VRMethod( "CN_smbtree", "AddField", "String", "IP" ) 453 MBFH = VRMethod( "CN_smbtree", "AddField", "String", "Role" ) 454 OSFH = VRMethod( "CN_smbtree", "AddField", "String", "OS" ) 473 MBFH = VRMethod( "CN_smbtree", "AddField", "String", "Role" ) 474 OSFH = VRMethod( "CN_smbtree", "AddField", "String", "OS" ) 455 475 VersionFH = VRMethod( "CN_SmbTree", "AddField", "String", "Version" ) 456 476 CommentFH = VRMethod( "CN_smbtree", "AddField", "String", "Comment" ) … … 468 488 /*:VRX _ContextMenuSelectedSet 469 489 */ 470 _ContextMenuSelectedSet: 490 _ContextMenuSelectedSet: 471 491 /* Fixme: This routine only works for CN_SMBTREE right now */ 472 492 … … 485 505 ok = VRSet("Menu_Selected_DetailsView","Visible",1) 486 506 */ 487 select 507 select 488 508 when SMBObj.udatatype = "DISK" then do 489 509 ok = VRSet("Menu_Selected_Connect", "Visible", 1) … … 544 564 /*:VRX _DelSMBObjectShares 545 565 */ 546 _DelSMBObjectShares: procedure expose samba. options. SMBObj. rh 566 _DelSMBObjectShares: procedure expose samba. options. SMBObj. rh 547 567 /* Purpose: Delete shares for a given Object (as handle) */ 548 568 549 rh = arg(1) 569 rh = arg(1) 550 570 551 571 ok = VRMethod("CN_smbtree", "GetRecordList", "All", rh.) … … 555 575 556 576 if ParentRH = rh then do /* we found a share belonging to our server */ 557 ok = VRMethod("CN_SMBTree", "RemoveRecord", rh.J ) 577 ok = VRMethod("CN_SMBTree", "RemoveRecord", rh.J ) 558 578 end 559 579 end … … 591 611 return 592 612 613 /*:VRX _DLLSearch 614 */ 615 _DLLSearch: PROCEDURE 616 PARSE ARG dname 617 _bd = SysBootDrive() 618 619 IF _bd == '' THEN 620 _bd = FILESPEC('DRIVE', VALUE('COMSPEC',,'OS2ENVIRONMENT')) 621 _csys = _bd'\CONFIG.SYS' 622 623 CALL SysFileSearch 'LIBPATH=', _csys, 'match.' 624 DO i = 1 TO match.0 625 PARSE UPPER VAR match.i _lead 'LIBPATH=' _lpath 626 IF (_lead == '') & (_lpath <> '') THEN LEAVE 627 END 628 629 _lpath = SysQueryExtLIBPATH('B') || ';'_lpath';' || SysQueryExtLIBPATH('E') 630 631 CALL SETLOCAL 632 _testenv = 'TEST_'dname'_LIBPATH' 633 CALL VALUE _testenv, _lpath, 'OS2ENVIRONMENT' 634 location = SysSearchPath( _testenv, dname ) 635 CALL ENDLOCAL 636 637 RETURN location 638 593 639 /*:VRX _dropdeprecated 594 640 */ 595 _dropdeprecated: 641 _dropdeprecated: 596 642 /* The stem-less counterparts of these variables are considered deprecated and should be removed wherever possible 597 643 The _dropdeprecated routine will drop any value in order to make sure the stem actually works 598 644 If another variable is added to the stem, ensure to also drop it in dropdeprecated otherwise it will not be exported 599 645 */ 600 drop rh 601 drop parentrh 646 drop rh 647 drop parentrh 602 648 drop gparentrh 603 drop icon 604 drop resname 605 drop comment 606 drop udatatype 607 drop udatamsg 649 drop icon 650 drop resname 651 drop comment 652 drop udatatype 653 drop udatamsg 608 654 return 609 655 … … 618 664 /*:VRX _GetSMBObjectProperties 619 665 */ 620 _GetSMBObjectProperties: procedure expose samba. options. SMBObj. rh icon resname udatatype udatamsg parentrh icons. 666 _GetSMBObjectProperties: procedure expose samba. options. SMBObj. rh icon resname udatatype udatamsg parentrh icons. 621 667 if options.!debug == 1 then say time()' _GetSMBObjectProperties started' 622 668 … … 649 695 650 696 SMBObj.parentrh = VRMethod("CN_SMBTREE", "GetRecordAttr", SMBObj.rh, "Parent") 651 if SMBObj.parentrh = "" 697 if SMBObj.parentrh = "" 652 698 then SMBObj.gparentrh = "" 653 699 else SMBObj.gparentrh = VRMethod("CN_SMBTREE", "GetRecordAttr", SMBObj.parentrh, "Parent") … … 678 724 /*:VRX _GetSMBObjectShares 679 725 */ 680 _GetSMBObjectShares: procedure expose samba. options. SMBObj. rh 726 _GetSMBObjectShares: procedure expose samba. options. SMBObj. rh 681 727 /* Purpose: Return stem with shares for a given Object (as handle) */ 682 728 683 rh = arg(1) 729 rh = arg(1) 684 730 685 731 SmbObj.shares. = '' … … 782 828 if (mtype.1 = '' & mtype.2 = '' & mtype.3 = '' & mtype.4 = '') THEN DO /* we do not seem to have an NLV file */ 783 829 /* we fill the array with the list predefined directly in the GUI control */ 784 ok = VRMethod( "CB_MOUNT", "GetStringList", "mtype." ) 830 ok = VRMethod( "CB_MOUNT", "GetStringList", "mtype." ) 785 831 end 786 832 … … 790 836 CALL NLVSetText 'PB_SMBTREE_HELP', "Caption", 4 791 837 CALL NLVSetText 'CN_SMBTREE', "Caption", 140 838 /** Use AutoSize property instead 792 839 ok = VRSet("Pict_Throbber","Width", VRMethod( "Screen", "PixelsToTwips", 32 )) 793 840 ok = VRSet("Pict_Throbber","Height", VRMethod( "Screen", "PixelsToTwips", 32 )) 794 841 **/ 795 842 /* Condet */ 796 843 CALL NLVSetText 'PB_CONDET_SAVE', "Caption", 30 … … 819 866 IF inipath == '' THEN inipath = SysBootDrive() || '\OS2' 820 867 settings.!ini = inipath'\evfsgui.ini' 821 drop os2_ini inipath 868 drop os2_ini inipath 822 869 if options.!debug == 1 then say ' EVFSGUI INIfile = "'settings.!ini'"' 823 870 … … 877 924 878 925 /* Load font settings */ 879 IF VRFileExists( SysBootDrive() || '\OS2DBCS') == 1 926 IF VRFileExists( SysBootDrive() || '\OS2DBCS') == 1 880 927 THEN default_font = '9.WarpSans Combined' 881 928 ELSE default_font = '9.WarpSans' … … 912 959 IF advanced.!lmhosts == '' THEN advanced.!lmhosts = 1 913 960 914 options.!storecreds = VRGetIni('Settings', 'StoreCreds', settings.!ini )961 options.!storecreds = VRGetIni('Settings', 'StoreCreds', settings.!ini, 'NoClose') 915 962 say "options.!storecreds = "options.!storecreds 916 963 IF options.!storecreds == '' then options.!storecreds = 1 917 964 918 965 say "options.!storecreds = "options.!storecreds 919 IF _ucChkObj() = 0 then options.!storecreds = 0 966 IF _ucChkObj() = 0 then options.!storecreds = 0 920 967 say "options.!storecreds = "options.!storecreds 921 968 969 options.!tracmark = VRGetIni('Settings', 'TracMarkup', settings.!ini, 'NoClose') 922 970 options.!debug = VRGetIni('Settings', 'Debug', settings.!ini) 923 971 IF options.!debug == '' THEN options.!debug = 0 /* Turn off debug by default for release builds */ … … 1029 1077 CALL VRSetIni 'Settings', 'Debug', options.!debug , settings.!ini, 'NoClose' 1030 1078 CALL VRSetIni 'Settings', 'MiniIcons', advanced.!miniicons , settings.!ini, 'NoClose' 1079 CALL VRSetIni 'Settings', 'TracMarkup', options.!tracmark , settings.!ini, 'NoClose' 1031 1080 1032 1081 /* Advanced */ … … 1076 1125 /*:VRX _LMHostsRead 1077 1126 */ 1078 _LMHostsRead: 1127 _LMHostsRead: 1079 1128 ok = file2stem(samba.!lmhosts,'lmhosts.', 'NoDel') 1080 1129 lmname. = "#" … … 1084 1133 lmapp.0 = lmhosts.0 1085 1134 do I = 1 to lmhosts.0 1086 if left(lmhosts.I,1) = "#" then iterate 1135 if left(lmhosts.I,1) = "#" then iterate 1087 1136 parse var lmhosts.I lmip.I ' ' lmname.I '#' lmapp.I 1088 1137 lmip.I = strip(lmip.I) … … 1095 1144 /*:VRX _LMHostsReset 1096 1145 */ 1097 _LMHostsReset: 1146 _LMHostsReset: 1098 1147 ok = SysFileDelete(samba.!lmhosts) 1099 1148 1100 1149 Buttons.1 = NLVGetMessage(2) 1101 1150 Buttons.0 = 1 … … 1110 1159 /*:VRX _LMHostsUpdate 1111 1160 */ 1112 _LMHostsUpdate: 1161 _LMHostsUpdate: 1113 1162 ok = VRMethod( "CN_SMBTREE", "GetRecordList", "Visible", "rh." ) 1114 1163 do I = 1 to rh.0 … … 1139 1188 lmname.new = SmbObj.resname 1140 1189 lmip.0 = new 1141 lmip.new = IP 1190 lmip.new = IP 1142 1191 end 1143 1192 end … … 1149 1198 call lineout samba.!lmhosts,left('# IP-address',25)||left('NetBIOS-name',16)' [Role]' 1150 1199 do I = 1 to lmname.0 1151 if left(lmname.I,1) = "#" then iterate 1200 if left(lmname.I,1) = "#" then iterate 1152 1201 call lineout samba.!lmhosts,left(lmip.I,25)||left(lmname.I,16)' 'lmapp.I 1153 1202 end … … 1157 1206 /*:VRX _LMHostsWrite 1158 1207 */ 1159 _LMHostsWrite: 1208 _LMHostsWrite: 1160 1209 1161 1210 return … … 1163 1212 /*:VRX _LoadOtherFuncs 1164 1213 */ 1165 _LoadOtherFuncs: 1214 _LoadOtherFuncs: 1166 1215 IF options.!debug == 1 then say time()' _LoadotherFuncs() started' 1167 1216 SIGNAL ON SYNTAX … … 1187 1236 Fatal = 1 1188 1237 parse source . . InVXIDE 1189 if left(InVXIDE,length(Tempdir)+5) = TempDir||'__tmp' 1238 if left(InVXIDE,length(Tempdir)+5) = TempDir||'__tmp' 1190 1239 then xxx = "VX-REXX IDE: "strip(translate(word(sourceline(SIGL-1),4),' ',"',")) 1191 1240 else xxx = 'A' … … 1399 1448 /*:VRX _PrinterInfo 1400 1449 */ 1401 _PrinterInfo: 1450 _PrinterInfo: 1402 1451 if \_SMBpdrInstalled() then do 1403 1452 /* SMB.PDR is not installed */ … … 1406 1455 else do /* SMB.pdr is installed */ 1407 1456 /* shared queue name */ 1408 p_printer = SMBObj.resname 1457 p_printer = SMBObj.resname 1409 1458 1410 1459 /* printer server */ … … 1423 1472 LDescStr = length(DescStr) 1424 1473 1425 /* Enumerate all SMB ports */ 1474 /* Enumerate all SMB ports */ 1426 1475 ok = SysIni('SYSTEM','PM_SPOOLER_PORT',"All:",'ports') 1427 1476 if ports.0 = 0 then do … … 1482 1531 /*:VRX _SmbConfCreateShadowCopy 1483 1532 */ 1484 _SmbConfCreateShadowCopy: 1533 _SmbConfCreateShadowCopy: 1485 1534 if options.!debug == 1 then say time()' _SmbConfCreateShadowCopy started' 1486 1535 /* we create a complete version of smb.conf in temporary directory for reading purposes */ … … 1529 1578 options.!timesync = 0 1530 1579 options.!timesrv = '' 1580 1581 options.!tracmark = 0 1531 1582 1532 1583 if options.!debug == 1 then say ' initializing vfs. ' … … 1607 1658 /*:VRX _TabbedDialogSetup 1608 1659 */ 1609 _TabbedDialogSetup: 1660 _TabbedDialogSetup: 1610 1661 if options.!debug == 1 then say time()' _TabbedDialogSetup started' 1611 1662 1612 1663 w = VRLoad( "TDL_1", VRWindowPath(), "SW_DIALOG" ) 1613 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(13)" ") 1664 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(13)" ") 1614 1665 ok = VRMethod( "TDL_1", "SetStatusText", 1, NLVGetMessage(132,"1","2")) 1615 1666 w = VRLoad( "TDL_1", VRWindowPath(), "SW_ADVANCED" ) 1616 ok = VRMethod( "TDL_1", "InsertPage", w,"- "NLVGetMessage(40)" ") 1667 ok = VRMethod( "TDL_1", "InsertPage", w,"- "NLVGetMessage(40)" ") 1617 1668 ok = VRMethod( "TDL_1", "SetStatusText", 2, NLVGetMessage(132,"2","2")) 1618 1669 1619 1670 w = VRLoad( "TDL_1", VRWindowPath(), "SW_SMBTREE" ) 1620 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(39)" ") 1671 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(39)" ") 1621 1672 1622 1673 w = VRLoad( "TDL_1", VRWindowPath(), "SW_CONDET" ) 1623 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(63)" ") 1674 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(63)" ") 1624 1675 w = VRLoad( "TDL_1", VRWindowPath(), "SW_SETTINGS" ) 1625 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(47)" ") 1676 ok = VRMethod( "TDL_1", "InsertPage", w,"+ "NLVGetMessage(47)" ") 1626 1677 if options.!debug == 1 then say time()' _TabbedDialogSetup done' 1627 1678 return … … 1630 1681 /*:VRX _TabFix 1631 1682 */ 1632 _TabFix: 1633 ok = VRMethod( "TDL_1", "SetTabText", arg(1), " "strip(VRMethod( "TDL_1", "GetTabText", arg(1)))" ") 1683 _TabFix: 1684 ok = VRMethod( "TDL_1", "SetTabText", arg(1), " "strip(VRMethod( "TDL_1", "GetTabText", arg(1)))" ") 1634 1685 return 1635 1686 1636 1687 /*:VRX _TabsStrip 1637 1688 */ 1638 _TabsStrip: 1639 ok = VRMethod( "TDL_1", "SetTabText", 1, strip(VRMethod( "TDL_1", "GetTabText", 1))) 1689 _TabsStrip: 1690 ok = VRMethod( "TDL_1", "SetTabText", 1, strip(VRMethod( "TDL_1", "GetTabText", 1))) 1640 1691 ok = VRMethod( "TDL_1", "SetTabText", 2, strip(VRMethod( "TDL_1", "GetTabText", 2))) 1641 ok = VRMethod( "TDL_1", "SetTabText", 3, strip(VRMethod( "TDL_1", "GetTabText", 3))) 1642 ok = VRMethod( "TDL_1", "SetTabText", 4, strip(VRMethod( "TDL_1", "GetTabText", 4))) 1643 ok = VRMethod( "TDL_1", "SetTabText", 5, strip(VRMethod( "TDL_1", "GetTabText", 5))) 1692 ok = VRMethod( "TDL_1", "SetTabText", 3, strip(VRMethod( "TDL_1", "GetTabText", 3))) 1693 ok = VRMethod( "TDL_1", "SetTabText", 4, strip(VRMethod( "TDL_1", "GetTabText", 4))) 1694 ok = VRMethod( "TDL_1", "SetTabText", 5, strip(VRMethod( "TDL_1", "GetTabText", 5))) 1644 1695 return 1645 1696 1646 1697 /*:VRX _TimeSync 1647 1698 */ 1648 _TimeSync: 1699 _TimeSync: 1649 1700 if options.!debug == 1 then say time()' _TimeSync started, "'options.!timesrv'"' 1650 1701 TimeMsg.1 = NLVGetMessage(141)' 'time() … … 1669 1720 /*:VRX _UpdateObject 1670 1721 */ 1671 _UpdateObject: procedure 1722 _UpdateObject: procedure 1672 1723 Object = arg(1) 1673 1724 ObjValue = arg(2) … … 1765 1816 END 1766 1817 OTHERWISE DO 1767 id = VRMessage( "", 'unknown mount type here >>'mount'<< mtype1=>>'mtype.1'<<', "Mount change error", "E", ) 1768 END 1818 id = VRMessage( "", 'unknown mount type here >>'mount'<< mtype1=>>'mtype.1'<<', "Mount change error", "E", ) 1819 END 1769 1820 END 1770 1821 if options.!debug == 1 then say time()' '||"CB_MOUNT_Change done" … … 1829 1880 /* Herwig B. */ 1830 1881 CALL VRSet "TM_AUTOCLOSE", "ENABLED", 0 1831 ok = VRSet("Menu_Selected_Default_Workgroup","Visible", 0) 1882 ok = VRSet("Menu_Selected_Default_Workgroup","Visible", 0) 1832 1883 1833 1884 rh = VRInfo('Record') … … 1848 1899 end 1849 1900 1850 if p_string = "" 1901 if p_string = "" 1851 1902 then infotext = fs.!name' 'fs.!version 1852 1903 else infotext = p_string … … 1859 1910 CALL VRSet 'PB_UNMOUNT', 'Enabled', 1 1860 1911 CALL VRSet 'MENU_CONTEXT_UNMOUNT', 'Visible', 1 1861 1862 if pos("*",p_string) > 0 | pos(";",p_string) > 0 1912 1913 if pos("*",p_string) > 0 | pos(";",p_string) > 0 1863 1914 then CALL VRSet 'MENU_CONTEXT_EDIT', 'Visible', 0 1864 1915 else CALL VRSet 'MENU_CONTEXT_EDIT', 'Visible', 1 … … 1879 1930 CALL VRSet 'MENU_CONTEXT_DETACH_ALL', 'Visible', 1 1880 1931 /* CALL VRSet 'MENU_CONTEXT_SEP2', 'Visible', 1 */ 1881 1932 1882 1933 END 1883 1934 ELSE DO … … 1956 2007 END 1957 2008 */ 1958 if p_string = "" 2009 if p_string = "" 1959 2010 then infotext = fs.!name' 'fs.!version 1960 2011 else infotext = p_string … … 1973 2024 CALL VRSet 'PB_UNMOUNT', 'Enabled', 1 1974 2025 CALL VRSet 'MENU_CONTEXT_UNMOUNT', 'Visible', 1 1975 2026 1976 2027 if pos("*",p_string) > 0 | pos(";",p_string) > 0 then CALL VRSet 'MENU_CONTEXT_EDIT', 'Visible', 0 1977 2028 else CALL VRSet 'MENU_CONTEXT_EDIT', 'Visible', 1 … … 2120 2171 else do /* Drag from CN_SMBTREE */ 2121 2172 call _GetSMBObjectProperties srcRec 2122 select 2173 select 2123 2174 when SMBObj.udatatype = "WORKGROUP" then do 2124 2175 say "Workgroup dragged!" … … 2170 2221 if trgRec = "" then do 2171 2222 ok = VRMethod("CB_DRIVES", "GetStringList", "freedrives.") 2172 if freedrives.0 > 0 2223 if freedrives.0 > 0 2173 2224 then ok = VRSet("CB_DRIVES","Value", freedrives.1) 2174 2225 else ok = VRSet("CB_DRIVES","Value", "") … … 2231 2282 /*:VRX CN_SMBTREE_DoubleClick 2232 2283 */ 2233 CN_SMBTREE_DoubleClick: 2284 CN_SMBTREE_DoubleClick: 2234 2285 if options.!debug == 1 then say time()' CN_SMBTREE_DoubleClick started' 2235 2286 … … 2251 2302 browsepath = browsepath'\*' 2252 2303 2253 call _BrowseDirectory 2304 call _BrowseDirectory 2254 2305 end 2255 2306 … … 2257 2308 BrowsePath = _browsebuildpath(SMBObj.rh) 2258 2309 call _BrowseResetObject(SmbObj.rh) 2259 2310 2260 2311 parse var browsepath '\\'machine'\'sharename '\' browsepath 2261 2312 … … 2264 2315 if \OpenOK then do 2265 2316 say " Not connected - trying to connect" 2266 ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", sharerh, "Selected", 1) 2317 ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", sharerh, "Selected", 1) 2267 2318 call PB_SMBTREE_CONNECT_Click 2268 2319 ok = VRMethod( "CN_SMBTREE", "SetRecordAttr", SMBObj.rh, "Selected", 1) … … 2273 2324 say " Not connected - cannot open - aborting!" 2274 2325 end 2275 end 2326 end 2276 2327 end 2277 2328 … … 2287 2338 2288 2339 call _BrowseDirectory 2289 end 2340 end 2290 2341 if options.!debug == 1 then say time()' CN_SMBTREE_DoubleClick done' 2291 2342 return 2292 2343 /*:VRX CN_SMBTREE_DragFile 2293 2344 */ 2294 CN_SMBTREE_DragFile: 2345 CN_SMBTREE_DragFile: 2295 2346 if options.!debug == 1 then say time()' CN_SMBTREE_DragFile started' 2296 2347 … … 2369 2420 */ 2370 2421 EF_PASSWORD1_KeyPress: 2371 if options.!debug == 1 then say time()' EF_PASSWORD1_KeyPress started' 2422 if options.!debug == 1 then say time()' EF_PASSWORD1_KeyPress started' 2372 2423 obj = VRInfo( "Object" ) 2373 2424 keystr = VRGet( obj, "KeyString" ) … … 2379 2430 otherwise nop 2380 2431 end 2381 if options.!debug == 1 then say time()' EF_PASSWORD1_KeyPress done' 2432 if options.!debug == 1 then say time()' EF_PASSWORD1_KeyPress done' 2382 2433 return 2383 2434 … … 2403 2454 if Now <> VRGet("EF_SERVER","value") then return 2404 2455 2405 IF options.!editmode = 1 then return 2456 IF options.!editmode = 1 then return 2406 2457 2407 2458 /* Do nothing for incomplete IP addresses */ … … 2413 2464 if VRGet("EF_SERVER","value") = "*" then return 2414 2465 2415 machine = VRGet("EF_SERVER","value") 2466 machine = VRGet("EF_SERVER","value") 2416 2467 rh = _GetMachineHandle(machine) 2417 2468 … … 2419 2470 call _GetSMBObjectProperties rh 2420 2471 2421 if SMBObj.parentrh = "" 2472 if SMBObj.parentrh = "" 2422 2473 then ok = VRSet("EF_NETWORK","Value", "") /* The workgroup might be unknown at this moment */ 2423 2474 else ok = VRSet("EF_NETWORK","Value", VRMethod("CN_SMBTREE","GetRecordAttr",SMBObj.parentRH,"Caption")) … … 2448 2499 */ 2449 2500 EF_USER1_KeyPress: 2450 if options.!debug == 1 then say time()' EF_USER1_KeyPress started' 2501 if options.!debug == 1 then say time()' EF_USER1_KeyPress started' 2451 2502 obj = VRInfo( "Object" ) 2452 2503 keystr = VRGet( obj, "KeyString" ) … … 2458 2509 otherwise nop 2459 2510 end 2460 if options.!debug == 1 then say time()' EF_USER1_KeyPress done' 2511 if options.!debug == 1 then say time()' EF_USER1_KeyPress done' 2461 2512 return 2462 2513 … … 2474 2525 /*:VRX EF_WINS_SERVER_Change 2475 2526 */ 2476 EF_WINS_SERVER_Change: 2527 EF_WINS_SERVER_Change: 2477 2528 advanced.!smbconfchanged = 1 2478 2529 return … … 2496 2547 IF info.2 > 0 THEN icon = icons.!active 2497 2548 ELSE icon = icons.!passive 2498 2549 2499 2550 rh = VRMethod("CN_CURRENT", 'AddRecord', parec, 'Last', info.0, icon ) 2500 2551 IF rh == '' | datatype(res.0) <> "NUM" THEN RETURN … … 2657 2708 else do 2658 2709 if FoundND = 0 & FoundEVFS = 0 then do 2659 CALL VRMessage 'Main', 'FATAL: Neither EVFS nor Netdrive found: 'fs.!prefix'RxQueryIFS()='fsstat, NLVGetMessage( 5 ), 'E' 2710 CALL VRMessage 'Main', 'FATAL: Neither EVFS nor Netdrive found: 'fs.!prefix'RxQueryIFS()='fsstat, NLVGetMessage( 5 ), 'E' 2660 2711 signal Halt 2661 2712 end 2662 signal ForceNDFS 2713 signal ForceNDFS 2663 2714 end 2664 2715 IF fsctl \= 1 THEN DO … … 2714 2765 CALL _INILoad 2715 2766 2716 call _TabFix 1 2767 call _TabFix 1 2717 2768 call SW_ADVANCED_Init_Content 2718 2769 call SW_SMBTREE_Init_Content … … 2730 2781 CALL VRSet "CB_MOUNT", "Selected", 1 2731 2782 CALL VRSet "CB_DRIVES", "Selected", 1 2732 IF options.!autoclose == 1 2783 IF options.!autoclose == 1 2733 2784 THEN CALL TM_AutoClose_Trigger 2734 2785 ELSE do … … 2766 2817 main_iheight = VRGet("Main","InteriorHeight") /* Height of window client-area */ 2767 2818 2768 if VRMethod( "Screen", "TwipsToPixels", main_iheight) < 580 then ok = VRSet("Main","Height",VRMethod( "Screen", "PixelsToTwips", 600)) 2769 if VRMethod( "Screen", "TwipsToPixels", main_iwidth) < 800 then ok = VRSet("Main","Width", VRMethod( "Screen", "PixelsToTwips", 800)) 2819 /** This caused weird resizing glitches, horrible jittering, etc. Instead, 2820 ** what we now do (further down) is set a minimum size in twips for the right 2821 ** pane, below which it simply stops resizing and switches to clipping. (The 2822 ** left pane resizes all its controls dynamically anyway.) This better matches 2823 ** standard application behaviour, and makes resizing behave more smoothly. 2824 * 2825 * if VRMethod( "Screen", "TwipsToPixels", main_iheight) < 600 then 2826 * ok = VRSet("Main","Height",VRMethod( "Screen", "PixelsToTwips", 580)) 2827 * if VRMethod( "Screen", "TwipsToPixels", main_iwidth) < 730 then 2828 * ok = VRSet("Main","Width", VRMethod( "Screen", "PixelsToTwips", 730)) 2829 */ 2770 2830 2771 2831 sbar_height = VRGet("GB_STATUSBAR","Height") /* Height of status-bar */ … … 2834 2894 2835 2895 /* Modified for notebook pages */ 2836 pane_height = marginx2 + pane_height -1 0202896 pane_height = marginx2 + pane_height -1180 2837 2897 rpane_width = marginx2 + rpane_width -760 2898 /* Use this as the width for the container pages, which don't have as strict a minimum width */ 2899 rcnr_width = rpane_width 2900 2901 /* Minimum size of right panel (based on SW_DIALOG which is the largest) */ 2902 if pane_height < 5360 then pane_height = 5360 2903 if rpane_width < 6010 then rpane_width = 6010 2838 2904 2839 2905 /* Dialog page */ … … 2886 2952 ok = VRSet("GB_SMBTREE", "Left", margin /* x2 */ /* split_left + 60 */ ) 2887 2953 ok = VRset("GB_SMBTREE", "Height", pane_height ) 2888 ok = VRset("GB_SMBTREE", "Width", r pane_width )2954 ok = VRset("GB_SMBTREE", "Width", rcnr_width ) 2889 2955 2890 2956 ok = VRset("GB_SMBTREE2","Left", margin ) 2891 2957 ok = VRset("GB_SMBTREE2","Top", /* 45 + */ marginx2 ) 2892 ok = VRset("GB_SMBTREE2","Width", r pane_width - marginx2)2958 ok = VRset("GB_SMBTREE2","Width", rcnr_width - marginx2) 2893 2959 ok = VRset("GB_SMBTREE2","Height", pane_height - (margin * 5) - pbtn_height /* - 245 */ ) 2894 2960 … … 2902 2968 ok = VRset("PB_SMBTREE_REFRESH", "Left", VRGet("PB_SMBTREE_CONNECT","Width") + marginx2) 2903 2969 ok = VRset("PB_SMBTREE_REFRESH", "Top", pane_height - pbtn_height - marginx2) 2904 ok = VRset("PB_SMBTREE_HELP", "Left", rpane_width - marginx2 - VRGet("PB_SMBTREE_HELP","Width") + 24) 2970 2971 hlpmin = VRGet("PB_SMBTREE_REFRESH", "Left") + VRGet("PB_SMBTREE_REFRESH","Width") + marginx2 2972 hlppos = rcnr_width - marginx2 - VRGet("PB_SMBTREE_HELP","Width") + 24 2973 IF hlppos < hlpmin THEN hlppos = hlpmin 2974 2975 ok = VRset("PB_SMBTREE_HELP", "Left", hlppos ) 2905 2976 ok = VRset("PB_SMBTREE_HELP", "Top", pane_height - pbtn_height - marginx2) 2906 2977 … … 2912 2983 ok = VRSet("GB_CONDET", "Left", margin /* x2 */ /* split_left + 60 */ ) 2913 2984 ok = VRset("GB_CONDET", "Height", pane_height ) 2914 ok = VRset("GB_CONDET", "Width", r pane_width)2985 ok = VRset("GB_CONDET", "Width", rcnr_width ) 2915 2986 2916 2987 ok = VRset("GB_CONDET2", "Left", margin ) 2917 2988 ok = VRset("GB_CONDET2", "Top", /* 245 + */ marginx2) 2918 ok = VRset("GB_CONDET2", "Width", r pane_width - marginx2)2989 ok = VRset("GB_CONDET2", "Width", rcnr_width - marginx2) 2919 2990 ok = VRset("GB_CONDET2", "Height", pane_height - (margin * 5) - pbtn_height /* - 245 */ ) 2920 2991 … … 2928 2999 ok = VRset("PB_CONDET_LOAD", "Left", VRGet("PB_CONDET_SAVE","Width") + marginx2) 2929 3000 ok = VRset("PB_CONDET_LOAD", "Top", pane_height - pbtn_height - marginx2 ) 2930 ok = VRset("PB_CONDET_HELP", "Left", rpane_width - marginx2 - VRGet("PB_CONDET_HELP","Width") + 24) 3001 3002 hlpmin = VRGet("PB_CONDET_LOAD", "Left") + VRGet("PB_CONDET_LOAD","Width") + marginx2 3003 hlppos = rcnr_width - marginx2 - VRGet("PB_CONDET_HELP","Width") + 24 3004 IF hlppos < hlpmin THEN hlppos = hlpmin 3005 3006 ok = VRset("PB_CONDET_HELP", "Left", hlppos ) 2931 3007 ok = VRset("PB_CONDET_HELP", "Top", pane_height - pbtn_height - marginx2) 2932 3008 … … 2985 3061 /*:VRX Menu_Context_Detach_All_Click 2986 3062 */ 2987 Menu_Context_Detach_All_Click: 3063 Menu_Context_Detach_All_Click: 2988 3064 ok = VRMethod( "CN_CURRENT", "GetRecordList", "All", "umrh." ) 2989 3065 do um = 1 to umrh.0 … … 3010 3086 CALL VRSet "PB_UNMOUNT","Enabled", 0 3011 3087 3012 ok = VRMethod( "TDL_1", "SetTabText", 1, " "NLVGetMessage(33)" " ) 3088 ok = VRMethod( "TDL_1", "SetTabText", 1, " "NLVGetMessage(33)" " ) 3013 3089 /* CALL NLVSetText "DT_DIALOG","Caption",33 */ 3014 3090 CALL VRSet "GB_CURRENT", "ENABLED", 0 … … 3048 3124 /*:VRX Menu_Context_Open_Default_Click 3049 3125 */ 3050 Menu_Context_Open_Default_Click: 3126 Menu_Context_Open_Default_Click: 3051 3127 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Click started" 3052 3128 if \VRIsValidObject(rh) then return … … 3064 3140 /*:VRX Menu_Context_Open_Detail_Click 3065 3141 */ 3066 Menu_Context_Open_Detail_Click: 3142 Menu_Context_Open_Detail_Click: 3067 3143 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Details_Click started" 3068 3144 if \VRIsValidObject(rh) then return … … 3080 3156 /*:VRX Menu_Context_Open_Icon_Click 3081 3157 */ 3082 Menu_Context_Open_Icon_Click: 3158 Menu_Context_Open_Icon_Click: 3083 3159 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Icon_Click started" 3084 3160 if \VRIsValidObject(rh) then return … … 3096 3172 /*:VRX Menu_Context_Open_Settings_Click 3097 3173 */ 3098 Menu_Context_Open_Settings_Click: 3174 Menu_Context_Open_Settings_Click: 3099 3175 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Settings_Click started" 3100 3176 if \VRIsValidObject(rh) then return … … 3112 3188 /*:VRX Menu_Context_Open_Splitview_Click 3113 3189 */ 3114 Menu_Context_Open_Splitview_Click: 3190 Menu_Context_Open_Splitview_Click: 3115 3191 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Splitview_Click started" 3116 3192 if \VRIsValidObject(rh) then return … … 3128 3204 /*:VRX Menu_Context_Open_Tree_Click 3129 3205 */ 3130 Menu_Context_Open_Tree_Click: 3206 Menu_Context_Open_Tree_Click: 3131 3207 if options.!debug == 1 then say time()' '||"Menu_Context_Open_Tree_Click started" 3132 3208 if \VRIsValidObject(rh) then return … … 3144 3220 /*:VRX Menu_Context_Refresh_Click 3145 3221 */ 3146 Menu_Context_Refresh_Click: 3222 Menu_Context_Refresh_Click: 3147 3223 CALL Refresh 3148 3224 return … … 3170 3246 StartUpDir = VRParseFilename(script,'DP') 3171 3247 end 3172 3248 3173 3249 ObjTitle = NLVGetMessage( 59 ) 3174 3250 if ObjTitle = "" then ObjTitle = '[EVFS LAN-Connections]' … … 3231 3307 /*:VRX Menu_File_Click 3232 3308 */ 3233 Menu_File_Click: 3309 Menu_File_Click: 3234 3310 ok = VRSet("Menu_File_LMHosts_Reset", "Enabled", VRFileExists( samba.!lmhosts )) 3235 3311 ok = VRSet("Menu_File_ucCred_Reset", "Enabled", (VRGet("Pict_PWINMEM","PicturePath") = "#36")) … … 3245 3321 */ 3246 3322 Menu_File_Daemon_Start_Click: 3247 if options.!debug == 1 then say time()' Menu_File_Daemon_Start_Click started' 3323 if options.!debug == 1 then say time()' Menu_File_Daemon_Start_Click started' 3248 3324 if VRFileExists(SysBootDrive()"\ndpsmb.dbg") then do 3249 3325 btns.0 = 2 … … 3267 3343 ok = VRSet("Menu_File_Daemon_Start","Enabled",0) 3268 3344 ok = VRSet("Menu_File_Daemon_Stop","Enabled",1) 3269 if options.!debug == 1 then say time()' Menu_File_Daemon_Start_Click done' 3345 if options.!debug == 1 then say time()' Menu_File_Daemon_Start_Click done' 3270 3346 return 3271 3347 3272 3348 /*:VRX Menu_File_Daemon_Stop_Click 3273 3349 */ 3274 Menu_File_Daemon_Stop_Click: 3275 if options.!debug == 1 then say time()' Menu_File_Daemon_Stop_Click started' 3350 Menu_File_Daemon_Stop_Click: 3351 if options.!debug == 1 then say time()' Menu_File_Daemon_Stop_Click started' 3276 3352 ok = PRProcessList(proc) 3277 3353 do I = 1 to proc.0 … … 3287 3363 ok = VRSet("Menu_File_Daemon_Start","Enabled",1) 3288 3364 ok = VRSet("Menu_File_Daemon_Stop","Enabled",0) 3289 if options.!debug == 1 then say time()' Menu_File_Daemon_Stop_Click stopped' 3365 if options.!debug == 1 then say time()' Menu_File_Daemon_Stop_Click stopped' 3290 3366 return 3291 3367 /*:VRX Menu_File_LMHosts_Reset_Click 3292 3368 */ 3293 Menu_File_LMHosts_Reset_Click: 3369 Menu_File_LMHosts_Reset_Click: 3294 3370 call _LMHostsReset 3295 3371 return … … 3362 3438 /*:VRX Menu_File_ucCred_Reset_Click 3363 3439 */ 3364 Menu_File_ucCred_Reset_Click: 3440 Menu_File_ucCred_Reset_Click: 3365 3441 if _ucChkUc() then ok = _ucDelUc() 3366 3442 ok = VRSet("Pict_PWINMEM","PicturePath","#37") … … 3379 3455 */ 3380 3456 Menu_Help_Extended_Click: 3381 ok = VRMethod( "Main", "InvokeHelp" ) 3457 ok = VRMethod( "Main", "InvokeHelp" ) 3382 3458 return 3383 3459 … … 3397 3473 if options.!debug == 1 then say ' SMBObj.udatatype = "'SMBObj.udatatype'"' 3398 3474 Success = 1 3399 select 3475 select 3400 3476 when SMBObj.udatatype = "WORKGROUP" then workgroupname = VRMethod("CN_SMBTREE","GetRecordAttr",SMBObj.rh,"Caption") 3401 3477 when SMBObj.udatatype = "DISK" then workgroupname = VRMethod("CN_SMBTREE","GetRecordAttr",SMBObj.gparentrh,"Caption") … … 3404 3480 otherwise Success = 0 3405 3481 end 3406 3482 3407 3483 /* FIXME: switch over to REXXIni calls */ 3408 3484 if Success = 1 then ok = TRSetIni("[global]","workgroup", workgroupname, samba.!smbconf) … … 3422 3498 /*:VRX Menu_Selected_DetailsView_Click 3423 3499 */ 3424 Menu_Selected_DetailsView_Click: 3500 Menu_Selected_DetailsView_Click: 3425 3501 ok = VRSet("CN_smbtree", "View", "Detail") 3426 3502 return … … 3445 3521 /*:VRX Menu_Selected_Refresh_Click 3446 3522 */ 3447 Menu_Selected_Refresh_Click: 3523 Menu_Selected_Refresh_Click: 3448 3524 ok = VRMethod( "CN_smbtree", "SetRecordAttr", SMBObj.rh, "Icon","#61:PMWP.DLL") 3449 3525 call _DelSMBObjectShares SMBObj.rh … … 3531 3607 /*:VRX Menu_Selected_TimeSync_Click 3532 3608 */ 3533 Menu_Selected_TimeSync_Click: 3609 Menu_Selected_TimeSync_Click: 3534 3610 if options.!debug == 1 then say time()' Menu_Selected_TimeSync_Click started' 3535 3611 … … 3550 3626 /*:VRX Menu_Selected_TreeView_Click 3551 3627 */ 3552 Menu_Selected_TreeView_Click: 3628 Menu_Selected_TreeView_Click: 3553 3629 ok = VRSet("CN_smbtree", "View", "IconTree") 3554 3630 return … … 3563 3639 /* Disabled, because we merge profile now - in earlier revisions 3564 3640 we replaced it but only for preexisting drives - this made only 3565 sense as long as we were unable to detect double connections - 3641 sense as long as we were unable to detect double connections - 3566 3642 this could be made an option! 3567 3643 3568 3644 IF options.!autoload then do 3569 3645 CALL _Dynamic "ok = "fs.!prefix"RxDetach('"vfs.!drive"')" … … 3645 3721 end 3646 3722 else do /* Same hash, status passive - we have to remove it */ 3647 ok = VRMethod("CN_CONDET", "RemoveRecord", records.i ) 3723 ok = VRMethod("CN_CONDET", "RemoveRecord", records.i ) 3648 3724 end 3649 3725 end … … 3751 3827 /* Workaround for truncated resource string */ 3752 3828 if length(p_rw) > 1 then do 3753 /* The resource string must have been truncated 3754 p_rw is already wrong and 3829 /* The resource string must have been truncated 3830 p_rw is already wrong and 3755 3831 p_easupport will most likely be also wrong (look below for workaround!) */ 3756 3832 p_rw ="W" /* this is guessed only!!! */ 3757 3833 if options.!debug == 1 then say ' WARNING! Detected truncated resource string - shorten workgroup name, server name, share name until this message goes away!' 3758 3834 end 3759 /* this should be done unconditionally if the resource string is never truncated */ 3835 /* this should be done unconditionally if the resource string is never truncated */ 3760 3836 else resource = left(resource,length(resource)-length(p_rw)) 3761 3837 … … 3814 3890 /*:VRX ParseResParmString 3815 3891 */ 3816 ParseResParmString: 3892 ParseResParmString: 3817 3893 PARSE VAR resource . ';WORKGROUP=' p_workgroup ';' . 3818 3894 PARSE VAR resource . ';SERVER=' p_server ';' . … … 3839 3915 */ 3840 3916 PB_ABOUT_COPY_Click: 3917 3918 if VRGet("CB_TRAC","set") then DO 3919 remainstr = AboutStr 3920 AboutStr = '' 3921 DO WHILE remainstr <> '' 3922 PARSE VAR remainstr _part '0d0a'x remainstr 3923 AboutStr = AboutStr || _part ||'[[BR]]'||'0d0a'x 3924 END 3925 END 3841 3926 ok = VRMethod( "Application", "PutClipboard", AboutStr ) 3842 3927 if options.!debug == 1 then call beep 880*2,10 … … 3871 3956 /*:VRX PB_ClearCred_Click 3872 3957 */ 3873 PB_ClearCred_Click: 3958 PB_ClearCred_Click: 3874 3959 call Menu_File_ucCred_Reset_Click 3875 3960 return … … 4001 4086 CALL VRSet "GB_CURRENT", "ENABLED", 1 4002 4087 ok = VRSet("PB_EDIT_CANCEL","Visible", 0) 4003 ok = VRMethod( "TDL_1", "SetTabText", 1, " "NLVGetMessage(13)" " ) 4088 ok = VRMethod( "TDL_1", "SetTabText", 1, " "NLVGetMessage(13)" " ) 4004 4089 /* CALL NLVSetText 'DT_DIALOG', "Caption", 13 */ 4005 4090 RETURN 0 … … 4248 4333 end 4249 4334 else do /* Turn on additional columns in connection details view */ 4250 ok = VRRedirectStdio("OFF") 4335 ok = VRRedirectStdio("OFF") 4251 4336 ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.mpidxfh , "Visible", 0) 4252 4337 ok = VRMethod("CN_CONDET", "SetFieldAttr", cd.passwordfh , "Visible", 0) … … 4474 4559 /*:VRX Pict_PWINMEM_Click 4475 4560 */ 4476 Pict_PWINMEM_Click: 4561 Pict_PWINMEM_Click: 4477 4562 if VRGet("Pict_PWINMEM","PicturePath") = "#36" then do 4478 4563 call Menu_File_ucCred_Reset_Click … … 4551 4636 /*:VRX SPIN_NRO1_Change 4552 4637 */ 4553 SPIN_NRO1_Change: 4638 SPIN_NRO1_Change: 4554 4639 advanced.!smbconfchanged = 1 4555 4640 return … … 4557 4642 /*:VRX SPIN_NRO2_Change 4558 4643 */ 4559 SPIN_NRO2_Change: 4644 SPIN_NRO2_Change: 4560 4645 advanced.!smbconfchanged = 1 4561 4646 return … … 4563 4648 /*:VRX SPIN_NRO3_Change 4564 4649 */ 4565 SPIN_NRO3_Change: 4650 SPIN_NRO3_Change: 4566 4651 advanced.!smbconfchanged = 1 4567 4652 return … … 4569 4654 /*:VRX SPIN_NRO4_Change 4570 4655 */ 4571 SPIN_NRO4_Change: 4656 SPIN_NRO4_Change: 4572 4657 advanced.!smbconfchanged = 1 4573 4658 return … … 4587 4672 /*:VRX SW_ABOUT_Close 4588 4673 */ 4589 SW_ABOUT_Close: 4674 SW_ABOUT_Close: 4675 options.!tracmark = VRGet('CB_TRAC', 'Set') 4590 4676 call SW_ABOUT_Fini 4591 4677 return … … 4593 4679 /*:VRX SW_ABOUT_Create 4594 4680 */ 4595 SW_ABOUT_Create: 4681 SW_ABOUT_Create: 4596 4682 call SW_ABOUT_Init 4597 4683 … … 4601 4687 CALL NLVSetText 'CB_TRAC', "Caption", 134 4602 4688 4603 ok = VRSet("DT_About","Caption", Program' (c) 2007-2013 Alexander Taylor'||'0D0A'x||'and Herwig Bauernfeind for bww bitwise works GmbH.') 4689 CALL VRSet 'CB_TRAC', 'Set', options.!tracmark 4690 4691 ok = VRSet("DT_About","Caption", Program' (c) 2007-2016 Alexander Taylor'||'0D0A'x||'and Herwig Bauernfeind for bww bitwise works GmbH.') 4604 4692 4605 4693 About.DscFH = VRMethod( "CN_ABOUT", "AddField", "String", "Component" ) … … 4611 4699 /*:VRX SW_ABOUT_Fini 4612 4700 */ 4613 SW_ABOUT_Fini: 4701 SW_ABOUT_Fini: 4614 4702 window = VRInfo( "Window" ) 4615 4703 call VRDestroy window … … 4618 4706 /*:VRX SW_ABOUT_Init 4619 4707 */ 4620 SW_ABOUT_Init: 4708 SW_ABOUT_Init: 4621 4709 window = VRInfo( "Object" ) 4622 4710 if( \VRIsChildOf( window, "TabbedDialog" ) ) then do … … 4675 4763 /*:VRX SW_ADVANCED_Init_Content 4676 4764 */ 4677 SW_ADVANCED_Init_Content: 4765 SW_ADVANCED_Init_Content: 4678 4766 IF advanced.!easupport \= "" THEN ok = VRSet("CB_EAS", "Set", advanced.!easupport) 4679 4767 IF advanced.!readonly \= "" THEN ok = VRSet("CB_READONLY","Set", advanced.!readonly) … … 4688 4776 /*:VRX SW_CONDET_Close 4689 4777 */ 4690 SW_CONDET_Close: 4778 SW_CONDET_Close: 4691 4779 call SW_CONDET_Fini 4692 4780 return … … 4694 4782 /*:VRX SW_CONDET_Create 4695 4783 */ 4696 SW_CONDET_Create: 4784 SW_CONDET_Create: 4697 4785 call SW_CONDET_Init 4698 4786 return … … 4700 4788 /*:VRX SW_CONDET_Fini 4701 4789 */ 4702 SW_CONDET_Fini: 4790 SW_CONDET_Fini: 4703 4791 window = VRInfo( "Window" ) 4704 4792 call VRDestroy window … … 4707 4795 /*:VRX SW_CONDET_Init 4708 4796 */ 4709 SW_CONDET_Init: 4797 SW_CONDET_Init: 4710 4798 4711 4799 return … … 4713 4801 /*:VRX SW_CONDET_Init_Content 4714 4802 */ 4715 SW_CONDET_Init_Content: 4803 SW_CONDET_Init_Content: 4716 4804 if VRGet("TM_Throbber","Enabled") = 1 then ok = VRset("Pict_Throbber", "Visible", 0) 4717 4805 … … 4722 4810 /*:VRX SW_DIALOG_Close 4723 4811 */ 4724 SW_DIALOG_Close: 4812 SW_DIALOG_Close: 4725 4813 call SW_DIALOG_Fini 4726 4814 return … … 4728 4816 /*:VRX SW_DIALOG_Create 4729 4817 */ 4730 SW_DIALOG_Create: 4818 SW_DIALOG_Create: 4731 4819 call SW_DIALOG_Init 4732 4820 return … … 4734 4822 /*:VRX SW_DIALOG_Fini 4735 4823 */ 4736 SW_DIALOG_Fini: 4824 SW_DIALOG_Fini: 4737 4825 window = VRInfo( "Window" ) 4738 4826 call VRDestroy window … … 4741 4829 /*:VRX SW_DIALOG_Init 4742 4830 */ 4743 SW_DIALOG_Init: 4831 SW_DIALOG_Init: 4744 4832 LEDSize = VRMethod( "Screen", "PixelsToTwips", 16 ) 4745 4833 … … 4751 4839 /*:VRX SW_DIALOG_Init_Content 4752 4840 */ 4753 SW_DIALOG_Init_Content: 4841 SW_DIALOG_Init_Content: 4754 4842 /* obsolete */ 4755 4843 if VRGet("TM_Throbber","Enabled") = 1 then ok = VRset("Pict_Throbber", "Visible", 0) … … 4771 4859 */ 4772 4860 SW_INFO_Create: 4773 if options.!debug == 1 then say time()' SW_INFO_Create started' 4861 if options.!debug == 1 then say time()' SW_INFO_Create started' 4774 4862 call SW_INFO_Init 4775 4863 CALL NLVSetText 'SW_INFO', "Caption", 92 … … 4827 4915 ok = VRMethod( "CN_INFO", "SetFieldData", Info.!MAC, Info.TypeFH, "MAC" ,Info.ValueFH, VRMethod("CN_SMBTREE", "GetFieldData", SMBObj.RH, MacFH )) 4828 4916 4829 if options.!debug == 1 then say time()' SW_INFO_Create done' 4917 if options.!debug == 1 then say time()' SW_INFO_Create done' 4830 4918 return 4831 4919 … … 4858 4946 */ 4859 4947 SW_LOGIN_Create: 4860 call SW_LOGIN_Init 4948 call SW_LOGIN_Init 4861 4949 ok = VRSet("SW_LOGIN","Caption",NLVGetMessage(136)' 'strip(p_workgroup' \\'p_server'\'p_share,'T','\')) 4862 4950 CALL NLVSetText 'DT_USER1', "Caption", 25 … … 4872 4960 when SMBObj.udatatype = "SERVER" then LoginIcon = SMBObj.Icon 4873 4961 when SMBObj.udatatype = "DISK" then do 4874 if pos("PDC",VRMethod("CN_smbtree", "GetFieldData", SMBObj.parentrh, MBFH)) > 0 4962 if pos("PDC",VRMethod("CN_smbtree", "GetFieldData", SMBObj.parentrh, MBFH)) > 0 4875 4963 then LoginIcon = "#63:PMWP.DLL" /* icons.!pdc */ 4876 4964 else LoginIcon = "#35:PMWP.DLL" /* icons.!pdc */ … … 4976 5064 /*:VRX SW_PORTCONNECT_Close 4977 5065 */ 4978 SW_PORTCONNECT_Close: 5066 SW_PORTCONNECT_Close: 4979 5067 call SW_PORTCONNECT_Fini 4980 5068 return … … 4982 5070 /*:VRX SW_PORTCONNECT_Create 4983 5071 */ 4984 SW_PORTCONNECT_Create: 5072 SW_PORTCONNECT_Create: 4985 5073 call SW_PORTCONNECT_Init 4986 5074 … … 4988 5076 4989 5077 if ok = "" then do 4990 5078 4991 5079 end 4992 5080 else do … … 5011 5099 /*:VRX SW_PORTCONNECT_Fini 5012 5100 */ 5013 SW_PORTCONNECT_Fini: 5101 SW_PORTCONNECT_Fini: 5014 5102 window = VRInfo( "Window" ) 5015 5103 call VRDestroy window … … 5018 5106 /*:VRX SW_PORTCONNECT_Init 5019 5107 */ 5020 SW_PORTCONNECT_Init: 5108 SW_PORTCONNECT_Init: 5021 5109 window = VRInfo( "Object" ) 5022 5110 if( \VRIsChildOf( window, "TabbedDialog" ) ) then do … … 5116 5204 /*:VRX SW_SETTINGS_Init_Content 5117 5205 */ 5118 SW_SETTINGS_Init_Content: 5206 SW_SETTINGS_Init_Content: 5119 5207 ok = VRSet("PB_SETTINGS_UNDO","Enabled", 1) 5120 5208 … … 5156 5244 end 5157 5245 5158 advanced.!smbconfchanged = 0 5246 advanced.!smbconfchanged = 0 5159 5247 return 5160 5248 5161 5249 /*:VRX SW_SMBTREE_Close 5162 5250 */ 5163 SW_SMBTREE_Close: 5251 SW_SMBTREE_Close: 5164 5252 call SW_SMBTREE_Fini 5165 5253 return … … 5167 5255 /*:VRX SW_SMBTREE_Create 5168 5256 */ 5169 SW_SMBTREE_Create: 5257 SW_SMBTREE_Create: 5170 5258 call SW_SMBTREE_Init 5171 5259 return … … 5173 5261 /*:VRX SW_SMBTREE_Fini 5174 5262 */ 5175 SW_SMBTREE_Fini: 5263 SW_SMBTREE_Fini: 5176 5264 window = VRInfo( "Window" ) 5177 5265 call VRDestroy window … … 5180 5268 /*:VRX SW_SMBTREE_Init 5181 5269 */ 5182 SW_SMBTREE_Init: 5270 SW_SMBTREE_Init: 5183 5271 5184 5272 return … … 5186 5274 /*:VRX SW_SMBTREE_Init_Content 5187 5275 */ 5188 SW_SMBTREE_Init_Content: 5276 SW_SMBTREE_Init_Content: 5189 5277 if VRGet("TM_Throbber","Enabled") = 1 then ok = VRset("Pict_Throbber", "Visible", 1) 5190 5278 … … 5196 5284 /*:VRX TDL_1_PageSelected 5197 5285 */ 5198 TDL_1_PageSelected: 5286 TDL_1_PageSelected: 5199 5287 page = VRInfo("Page") 5200 5288 5201 5289 /* call _TabsStrip */ 5202 select 5290 select 5203 5291 when page = 1 then do /* dialog */ 5204 call _TabFix 1 5292 call _TabFix 1 5205 5293 end 5206 5294 when page = 2 then do /* advanced */ … … 5227 5315 /*:VRX TM_Progress_Throbber_Trigger 5228 5316 */ 5229 TM_Progress_Throbber_Trigger: 5317 TM_Progress_Throbber_Trigger: 5230 5318 pIdx = VRGet("Pict_Progress_Throbber","PicturePath") 5231 5319 parse var pIdx '#' pidx … … 5237 5325 /*:VRX TM_RefreshCurrentDisplay_Trigger 5238 5326 */ 5239 TM_RefreshCurrentDisplay_Trigger: 5327 TM_RefreshCurrentDisplay_Trigger: 5240 5328 if RefreshMode <> "" then return 5241 5329 if _DaemonRunning() = 0 then do -
trunk/guitools/shared/nlv.vrs
r703 r894 4 4 /* This subroutine is (c) by Alex Taylor, portions (c) Herwig Bauernfeind 5 5 * Sets all UI text from the message file. Any string that can't be loaded 6 * will default to the built-in English. 6 * will default to the built-in English. 7 7 */ 8 8 … … 18 18 say ' NLV srchroot = "'srchRoot'"' 19 19 20 filestem = VRParseFileName( execPath, "N")'_' 21 if translate(filestem) = "EVFSGUI_" then filestem = "evfsi_" 20 filestem = VRParseFileName( execPath, "N") 21 if translate(filestem) = "EVFSGUI" then filestem = "evfsi_" 22 else filestem = SUBSTR( filestem, 1, 6, '_' ) 22 23 say ' NLV filestem = "'filestem'"' 23 24 … … 90 91 end 91 92 end 92 end 93 end 93 94 say time()' NLVSearch() done, returning "'NLVFile'"' 94 95 return NLVFile … … 105 106 106 107 SELECT 107 WHEN ARG() == 2 THEN 108 WHEN ARG() == 2 THEN 108 109 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2) ) 109 WHEN ARG() == 3 THEN 110 WHEN ARG() == 3 THEN 110 111 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(3) ) 111 WHEN ARG() == 4 THEN 112 WHEN ARG() == 4 THEN 112 113 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(3), ARG(4) ) 113 WHEN ARG() == 5 THEN 114 WHEN ARG() == 5 THEN 114 115 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(3), ARG(4), ARG(5) ) 115 WHEN ARG() == 6 THEN 116 WHEN ARG() == 6 THEN 116 117 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(3), ARG(4), ARG(5), ARG(6) ) 117 WHEN ARG() == 7 THEN 118 WHEN ARG() == 7 THEN 118 119 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(3), ARG(4), ARG(5), ARG(6), ARG(7) ) 119 WHEN ARG() == 8 THEN 120 WHEN ARG() == 8 THEN 120 121 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(2), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8) ) 121 WHEN ARG() == 9 THEN 122 WHEN ARG() == 9 THEN 122 123 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(2), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8), ARG(9) ) 123 WHEN ARG() == 10 THEN 124 WHEN ARG() == 10 THEN 124 125 msgtxt = SysGetMessage( msgnum, msgfile, ARG(2), ARG(2), ARG(4), ARG(5), ARG(6), ARG(7), ARG(8), ARG(9), ARG(10) ) 125 126 OTHERWISE … … 135 136 /*:VRX NLVSetText 136 137 */ 137 /* 138 * Sets the specified property of the specified control to the specified 138 /* 139 * Sets the specified property of the specified control to the specified 139 140 * message text. 140 141 */ … … 143 144 144 145 success = 1 145 IF substitution == '' THEN 146 IF substitution == '' THEN 146 147 text = NLVGetMessage( message ) 147 148 ELSE 148 149 text = NLVGetMessage( message, substitution ) 149 150 150 IF text == '' THEN success = 0 151 IF text == '' THEN success = 0 151 152 ELSE CALL VRSet control, property, text 152 153
Note:
See TracChangeset
for help on using the changeset viewer.