Up to Lgi...
About
Changes:
- Change GList to clear the keyboard seach accumulation string when the control is emptied. This helps in the linux versions GFileSelect dialog.
- [Linux] Added the ability to type file pattern into the filename edit box. These are added to the file type list and then used to filter the view. Also by default if the calling application supplies no file types it inserts "All files (*)".
- [BeOS] Merged back in all the edits to bring the BeOS port back up to speed. This involved a lot of work and to and fro'ing between Win32 and BeOS to check I didn't inadvertantly break anything but I'm happy now it's done. I'm really hoping to get at least i.Ftp released on 3 platforms at the same time.
- Fixed the shadow effect on the accelerator of the menus.
- [Win32] Fixed a hang in the thread code where the ResumeThread API function actually works but returns an error, which sent the code into an infinite loop. So now it times out and returns an error.
- [Linux] Added support for tooltips. The framework for tooltips on non-win32 platforms is fairly generic but you have to implement at least 2 peices of platform specific functionality. Firstly you need to set the NativeTip window to have no decor and then also implement NativeTip::IsOverParent to return true of the mouse is over the parent window as opposed to over some other window on top of the parent window. But at least it makes porting tooltips a bit easier.
- [Linux] Added a hand cursor to GView::SetCursor(...).
- [BeOS] Fixed the GWindow killing the thread before ~GView() gets a chance to run. Causing lots of memory not to be cleaned up.
- [BeOS] Implemented the platform specific parts for tool tips to work.
- Fixed a lot of memory leaks.
- [BeOS] Implemented some basic virtual GView support.
- [BeOS] Added an implementation for GView::SetCursor and the appropriate cursor data.
- [BeOS] Fixed mouse move events to pass through GView::_Mouse().
- Added a proper hook system to watch mouse and or keyboard events at a GWindow level. All mouse and keyboard events now pass through the owning GWindow first before heading on to the destination GView.
- [Linux] Added clipping code to the draw text function to ignore drawing to the area of the screen not being updated at the moment. This speeds up a lot of things because text output is so expensive time wise.
- Renamed the GRegion object to GRect. And the GComplexRegion to GRegion.
- [Linux] Fixed deleting GView's from outside the GUI thread crashing the application.
- [BeOS] Fixed windows not updated fully when resized, especially when first shown on the screen. This was cause by BeOS (even Zeta) not honouring a flag I set when creating BView's to update the whole view when it's resized. So instead I just do a "Invalidate" in the view resized event handler. Which implements the beaviour I need explicitly.
- [BeOS] Updated all the code to use BMessagers, and thus compile/work fine on Zeta systems. I don't intend to support r5 at this point but I'll consider Haiku or any other modern BeOS clone when they become available. I'm not deliberately breaking r5 support, I'm just not testing anything in that [ancient] version.
- Fixed some update issues in GTextView3 when deleting text.
- [BeOS+Linux] Added horizontal resize cursors to the edges of the column headings in the list control.
- Fixed GProcess's child process hanging if the executable argment is invalid.
- [Win32] Fixed inncorrectly encoded accents in the tray icon tooltip.
- [Linux] Added support for incremental clipboard transfer.
- Rewrote the HTML control's table layout to use the CSS2 automatic algorithm.
- [Linux] Fixed the window parameter on the XDndLeave message, when sent by a Lgi application.
- [Linux] Fixed the file system code to be able to write beyond 2gb.
- [Linux] Fixed the directory code to show filesize's > 2gb and < 4 gb.
- Fixed the storage code to write >2gb files.
- Fixed reading of PNG's with transparency.
- Added support to LoadDC to sniff the bytes of the file and pick a filter even when there is no valid extension on the file.
- [Linux] Fixed GSocketImpl::Accept.