AngelsHolocaust 0 Report post Posted February 23, 2007 Hi everyone. Sorry for the long delay, the next release will be out in time again - promised :) news: [*] 2006 -> 2007 [!] big thanks to GPFault for code, ideas and support in the latest LNX improvments [!] created a file for interfacing LINUX libc or other (shared) libraries on startup (statically linked) called linuxlib (libc.so.6 and libdl.so.2 for a start...) [-] D32 DOS: SysGetDateTime() wrong value returned for DayOfWeek (AdminZ/Garl) [A/V] -> the (new) code that used BIOS/PORT to get the data was not 100% compatible to the DOS code (was added to solve mouse crash of D32 in NT+) [*] LNX X: now interfacing Xlib if available [+] LNX X: [sHIFT-ESCAPE] minimizes/iconifies the console -> main3.MyApp.GetEvent(), depending on the used X terminal [-] LNX: vpsyslnx.KbdBuffer pipe was not freed on exit [V] -> vpsyslnx: added LnxPipeClose(), relocated KbdBuffer pipe creation at the start of KbdTerminalThread() and pipe close to the end [!] FILECHANGENOTIFY seemed to be disabled in the releases - sorry -> stdefine.inc still had it in the developing code section [+] added vpsyslow.SysLineBreak|SysLineBreak(CrLf|Cr|Lf) [V] [+] DBG commandline option, non-release builds only: DBG_NO_FATAL_ERROR_OUTPUT / DNFEO to suppress messagebox display on fatal error which overwrites write(ln) debug messages -> drivers6.ReportFatalError() [-] D32/LFN: EDR-DOS/LFNDOS didn't access CD drives [NC] (AdminZ) -> lWin95 code in lfn only tried the LFN functions, not DOS/SFN; [-] D32/SFN: lfn.lChDir didn't work in pure DOS [A] (AdminZ) -> SFN chdir call doesn't like directories like 'C:\TEMP\', wants 'C:\TEMP'; implemented PChar _RemovePathSep() into vpsysd32, used in vpsysd32.SysDirSetCurrent() [+] ini file saving/loading to menu Options: Save initialization file -> added cm(Load|Save)INI, dnutil.TDnApplication.HandleCommand() [+] added advance0.MemCmp(): used in filescol.CompareFiles() [+] global usage of drivers3.ConvertWSKey() to be able to select WordStar keys; was only used in ListViewer until then -> drivers3.ConvertWSKey() checks the event for evKeyDown itself -> setup: added to Options.Configuration.Misc Setups.Keyboard Setup dnini: loaded/saved to [Misc].KeyboardOptions -> drivers3.WordStarKeys and drivers3.ws* constants removed, added commands.kbd(UseWordStarCursor|SwitchHomeEndPage) -> ConvertWSKey() removed from TListViewer.HandleEvent(), added to: microed6.EditorHandleEvent(), fviewer.TFileViewer.HandleEvent(), dbfview.TDBViewer.HandleEvent(), dialogs.TInputLine.HandleEvent() -> added driversr.CtrlToArrow() to: fviewer.TFileViewer.HandleEvent(), dbfview.TDBViewer.HandleEvent() -> removed special windows hotkey code for editor (ebfWindowsBlockKeys) -> this enables to choose between WordStar cursor control OR standard WINDOWS keys like [CTRL-C/X/V] (clipboard) or [CTRL-A] (Select all) -> removed a lot of synonym commands for cmSearch(Again|Reverse) in phones, editor, viewer, dbviewer, spreadsheet [*] improvment to stringsx.SStr(): size of S 40 -> 50 {G} [*] bugfix in eraser.DelShowProgress(): Using size of Desktop in write {G} [+} added timedate.GetMonthFromString() KEYBOARD [*] [CTRL] on release, not press, this solves several keyboard combination problems like when copying the current file name to commandline when [CTRL] is also the quick search hotkeys (naX) [-] W32: some keyboards do not return a charcode for [ESC] when CAPSLOCK is on; the fix for this in vpw32kbd was bad [V] (Adam Lubszczyk) -> Shiftstate = CAPSLOCK_ON -> Shiftstate and CAPSLOCK_ON ... [+] LNX X: the keyboard is read from X-events FILE PANEL [*] [left/RIGHT] din't work in panel if panel names were maxed (ctrl-0) -> adjusted file panel size checks in flpanelx.TFilePanelRoot.CommandHandle().kb(Left|Right) [*] W32: LINUX 'cd' -> home feature also for windows -> vfs_driv.TDrive.HandleCmdLine(): WNT+ uses environment string %UserProfile%, W9x uses %WinDir% [-] the fillers between the drive chars used the FD/REMOVABLE color, now use the frame color [A] -> flpanel.TDriveLine.Draw() [*] improved default file mask highlight data (BmW/Garl) -> groupsfm.CreateGrpIni() [-] mouse wheel didn't move scrollbar marker (OArkh) [A] -> flpanel.TFilePanel.HandleEvent() didn't redraw the Scrollbar after move [*] removed commented/unneeded GetEmpty/MakeTop methods from vfs_* [-] Crashes in big resolutions (> 255 / 2) on... [?] - [TAB]: * vfs_driv.TDrive.GetEmpty() did not check the size left in the drawbuffer -> GetEmpty() now gets a new paramter (BufLen) with the remaining size of the buffer * flpanel.TSeparator.Old(W|X) were not updated on startup of NDN which caused wrong calculation and writes across the draw buffer boundaries -> dnutil.TDNApplication.Init() broadcasts cmVideoModeChanged after loading the desktop - moving right in the file details (details > panel size): * vfs_driv.TDrive.GetEmpty() did write before the drawbuffer -> GetEmpty() now skips columns with result length < 1 [-] error message when renaming the desktop file in dnutil.TDNApplication.SaveDesktop() was never displayed because fileio.RenameFile1() used DosError instead of IOResult EDITOR [*] LNX: file lock like in DOS/WINDOWS doesn't work -> implemented flock() usage in vpsyslnx.SysFileOpen() but LINUX is not able to do a simple 100% lock on a file for all write operations until the lock is released again - another big "-" for LINUX -> changed stOpenRead into stOpenWrite in microed.TFileEditor.LockFile() [*] keyword completion: the current word (pattern) is not used in the comparing process anymore, which improves the completion process -> namecomp.KeyWordCompletion() returns only the pattern data if no keywords are provided, this is used in micro_3.EdCompleteKeyWord() to modify the pattern so it won't be included in the comparisson data [-] editor copy to clipboard: it appended spaces to lines in horizontal block mode like in vertical mode if the position on the last line was higher than the line length [A] (Dandv) -> micored3.EditorGetSelection() checks for EdOptions.VertBlock when inserting lines [-] block/selection draw was randomly off or wrong [] -> microed7.EditorDraw() had code which corrected the start/end of the first/last block line always to the EOL if the cursor was > EOL -> moved to microed7.EditorDraw().BlockDraw(), simplified, shortened and improved MOUSE [*] LNX X: added new mouse enabling method for xterm and company [V] {P} this makes it possible to use available mouse server modes depending on the X-terminal -> standard drag and drop operations like in DOS/WINDOWS now work -> sending oldest to newest en/disable sequences to the terminal in vpsyslnx.SysTVInitMouse()|SysTVDoneMouse -> mouse wheel works [+] LNX T: mouse now fully works in real LINUX terminals -> gpm needs to be running (visible/moving mouse cursor on screen) -> added gpm.pas which interfaces libgpm.so.1 (if it exists) -> libgpm.so.1 is loaded dynamically -> added LOAD_DYNAMIC define to gpm.pas, static loading at program start code is also included but commented -> gpm.pas used in vpsyslnx.SysTV(Init|Done)Mouse and SysTVGetMouseEvent -> mouse wheel support was added but is untested since my wheel doesn't work in LINUX console (someone please verify this...) [-] D32/NT: mouse still crashed in extreme cases (FILE FIND and mouse moves or always in fullscreen) [A] -> vpsysd32 mouse code now polls the mouse instead of using the handler, slower but works 100% -> vpsysd32.NT_MOUSE_POLL define to signal the new code [+] Menu =.Reset Mouse command: reinit mouse -> added commands.cmResetMouse, used in dnutil.TDnApplication.HandleCommand, which calls drivers.(Done|Init)Events() -> useful when starting drivers while NDN is running INFO PANEL [-] crash when trying to open the disk information panel [CTRL-L] [A] -> infopane.ReadDizFile() referenced an empty PString to PTextReader if no data provided in Options.File Manager.Setup.Directory/File Descriptions DNEXEC/EXTERNAL VIEWER/EDITOR DNEXEC.EXECUTEFILEEXT/LOCAL_GLOBAL_MENUS [*] LNX: improved the [F2] user menu with more useful commands (reboot....) FILE COPY/MOVE/OPEN/CREATE/DELETE [-] DELETE: deleting directories always used the SFN [A] (GPFault) -> eraser.EraseFiles() used ExistFile() for directories, which always failed, now using fileio.Exists() for all checks COUNTRY SETUP/LANGUAGES [*] - improved english help topic - added [ALT-BACKSPACE]: reset to standard hi-ASCII chars -> setups.TUpperTable.HandleEvent() [-] Upcase table was not correctly initialized [AC] (Adam Lubszczyk) -> removed stringsx.InitUpcase(), stringsx.UpcaseInited -> corrected stringsx.UpperTableToCaseArray() [*] improved handling of UpCaseString/CountryInfo.UpperTable in dnini -> moves instead of for..do constructs TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS [-] ASCII-TABLE: char insert into an inputline deleted the content [A] -> added asciitab.AsciiTableActive boolean to signal that the ascii-table is active, used in dialogs.TInputLine.SetState() [*] inputlines now understand [CTRL-A] -> dialogs.TInputLine.HandleEvent() [*] consistent usage of '...' in menus (selecting this menuitem opens another window) COMMANDLINE [+] commandline supports [sHIFT-DEL] and [CTRL-X/C/V] operations (see WordStar news) -> cmdline.TCommandLine.HandleEvent() ARCHIVES [+] added UHARC archive support (AdminZ) -> unfortunately UHARC is not feature compatible to the major archivers, f.ex. try to archive from a directory with adding relative paths [*] added arc_arj.TArjArchive.MustReread(), for arc types that need to read the screen output of an archiver -> used in vfs_arcv.TArcDrive.HandleCommand() and vfs_find.FindFiles.ScanDirectory() Stefan / AH download: http://ndn.muxe.com/beta Share this post Link to post Share on other sites
FloX 0 Report post Posted February 24, 2007 Hi, thanks for the new release! I am using two file managers: your NDN and File Wizard. And the main reason for File Wizard is following: If I want to copy some Gigabytes of files, File Wizard is sometimes much faster! 1) It is possible to make a new option, to show only the hole process? 2) NDN seems to first read some MB and then write these. File Wizard seems to do the same, but is much faster. Schöne Grüße aus Wien Flo PS: I am talking about DOS/DPMI version (using it in WinXP too). PPS: Found a bug....:If I try to change to a not existing drive I get this error: Exception 0D8h at address 02994315 in f:\NDN\source\drivers3.pas Line 200 Access violation btw: This is a cool error message....are you using a special library for this? Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted February 24, 2007 Hi FloX. Thanks for your nice words and bug report. The error message is custom made by the error handler in NDN. But I think this should be possible with every average text window library. 1) Do you mean to only draw one progress bar showing the total copy progress? Do you think that this option would be useful? 2) The D32 version in Windows NT/2K/XP is MUCH slower than the W32 version. This cannot be solved because of the way DPMI32 works in NT based Windows'. Maybe you want to try the W32 version and compare it to File Wizard again. best regards and greetings from bavaria, Stefan / AH Share this post Link to post Share on other sites
FloX 0 Report post Posted February 25, 2007 Thanks for your nice words and bug report. Thank you for continue of DOS version... :-) ... DNOS has stopped... Do you mean to only draw one progress bar showing the total copy progress? Do you think that this option would be useful? Yes. I think it will be easy to make a new option... (I know only C++ version of Turbo Vision, but I think it should be only some lines of new code...?) If I copy many many files which are small, then I think it will also be better...and more fast.... 2) The D32 version in Windows NT/2K/XP is MUCH slower than the W32 version. This cannot be solved because of the way DPMI32 works in NT based Windows'. Maybe you want to try the W32 version and compare it to File Wizard again. No, I used them in pure DOS (FreeDOS) with installed UDMA driver. Bye Flo Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted February 26, 2007 Hi Flo! Of course it would be no problem to make this option, but 1) i don't know any reason why a user wants less information in the copy dialog (question i have to ask myself: how many user will use this option?) 2) this will NOT speed up the copy progress at all I am pretty sure. most time is spent reading/writing files. you might want to try the old 2.15.4000 release: http://ndn.muxe.com/download/ and compare if this version is faster than 2.30.4464 I am sure the copy process can be optimized, but I doubt that it has to do with the progress display. Ah, I see, there is also a File Wizard for Windows. :P Let me know of your tests with 2.15... bye Stefan / AH Share this post Link to post Share on other sites
FloX 0 Report post Posted February 26, 2007 Another thing (under pure DOS, with UDMA, LBACACHE): I have a source tree of sourceforge.net on my harddisk (CVS) . So there exists in every directory a sub-directory CVS which includes files. If I search a file in this tree, NDN accesses the floppy drive! And in every directory... seems problem with CVS directory???? maybe I find more with some tests... bye Flo Share this post Link to post Share on other sites
Din 0 Report post Posted March 2, 2007 Hi Stefan, Many thanks for fix of the "[-] Crashes in big resolutions (> 255 / 2)"! Would it be possible to implement an option to the Alt+B menu to sort files by path first and then by sort mode defined in the ndn.ini: [Panel Defaults] Sorting=1 The sort mode by path will be very useful in the Directory Branch and in the Find views, because it is very difficult to find all files from the same folder in these views now. Thank you, Din Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted March 2, 2007 Hi! @Flox: let me know if you find any way to reproduce this error @Din: thank you & i think it's a very good idea Bye Stefan / AH Share this post Link to post Share on other sites
Zaimskih 0 Report post Posted March 5, 2007 download: http://ndn.muxe.com/beta.php Unrecoverable error: The requested page does not exist Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted March 5, 2007 Hi! True, sorry. I have corrected the link. Thank you. Stefan / AH Share this post Link to post Share on other sites
FloX 0 Report post Posted March 6, 2007 I have a source tree of sourceforge.net on my harddisk (CVS) . So there exists in every directory a sub-directory CVS which includes files. If I search a file in this tree, NDN accesses the floppy drive! And in every directory... This seems to be a general problem...if NDN changes the directory, it tries to access the floppy (there seems to be no difference, if a floppy is insert or not, also no error message or something else). Not everytime. But mostly. Bye Flo Share this post Link to post Share on other sites
AdminZ 0 Report post Posted April 2, 2007 Hello Stefan, 1. How say FloX, under DOS NDN 2.30.4464 DPMI really work with disks very slow. Under DOS FW 1.35 copying files x2.9 fastest! This good see when work with flash disks. FW copying avi file ~600MB 67s from Handy Steno HT203 200X to HDD, NDN 2.30.4464 - 190s. So slow work navigate through files structures, when change directory. 2. Error in unpack images in diskimg.pas I found. This error in algorithm - maximal size subdirectory limited size of root directory. Really dir entries must reads up to empty entry, following after last entry or up to size this subdir. I'm sorry but I don't write right code - my knowledge pascal little. P.S. I'm sorry what don't replyes too much long. Btw, I refresh http://irman.at.tut.by/ubd.uha. Share this post Link to post Share on other sites
AngelsHolocaust 0 Report post Posted April 3, 2007 Hi AdminZ. 1. i will answer this in the other thread 2. i have added this to my todo list Bye Stefan / AH Share this post Link to post Share on other sites