Up to Lgi...
About
Changes:
- [Linux] Fixed iconv support.
- [Linux] Fixed bitmap display on 24bit screens.
- [Linux] Fixed GEditBox taking ~100ms to create, and thus causing dialogs to take ages to show up on screen. This was just collecting the system font information from the config files (file->parsing->search) and then creating the font. Now it just uses the global system font that is created once in GApp. No searching, no creating... down to 1 or 2ms.
- [Linux] Changed the d'n'd code to throw away all but the most recent MotionNotify.
- [Linux] Fixed GWindow's getting 2 OnCreate's.
- [Linux] Fixed horizontal scrollbars thumb being 2 pixels too big.
- [Linux] Fixed DRecordSetCtrls to use the scroll bar's value instead of the flags passed in on OnNotify. This fixes scrolling along the records.
- [Linux] Changed QWidget::notifyEvent to include a 32 bit flags parameter to give the GView::OnNotify event handler.
- [Linux] Fixed the mapping of mouse position back to scroll bar value.
- [Linux] Fixed the GView::Invalidate(...)'s Repaint flag.
- [Linux] Fixed calling XClearArea with an out of bound Rect.
- Made GFontSystem binary compatible.
- Added lgi.conf setting for turning off glyph substitution.
- GDisplayString now checks the Font's OS handle has been allocated, and Create()'s it if needed. Fixed some display errors.
- Made GHashTable binary compatible, and added a Delete method. Also it now grows and shrinks to fit the amount of data stored.
- Added "Raise()" function to GWindow to move the window to the top of the z-order.
- Added binary compatibility private class to GWindow.
- [Linux] Added new function LgiGetWindowManager().
- [Linux] Added LSP_DESKTOP impl. to LgiGetSystemPath.
- Fixed the GTree control resetting it's vertical scroll bar's value to 0 when you open a root node.
- [Linux] Fixed worker threads trashing the state of QApplication. The app has a lock on it and there is no more "Current" widget pointer making the object fairly reentrant.
- [Linux] Fixed QApplication::enter_loop / exit_loop getting out of sync with their depth count.
- [Linux] Fixed LgiExecute to properly escape files with spaces in their names.
- Improved the GDateTime::SetDate(char*) string parsing to be more robust.
- Added the impl for the GWindow::OnZoom() event.
- [Linux] Fixed OnMouseMove so that GMouse::Down() works properly.
- [Linux] Added LgiGetAppForMimeType support for 'group/x-type' when 'group/type' is passed in.
- [Linux] Added implementation for the back button and showing hidden files in GFileSelect.
- [Linux] Made the GFileSelect window resizable.
- [Linux] Fixed the JPEG loading to handle X windows with 4 byte 24bit pixels.
- [Linux] Fixed the command line processing in GApp so that your GWindow::OnFilesReceived(...) method gets called.
- [Linux] Fixed DoModal() dialogs to be modal. (Which was more a case of nutting out how X does modality).
- [Linux] Implemented support d'n'd code so that GWindow::OnFilesReceived(...) is called when files are dropped on a GWindow.
- [Linux] Fixed LgiMsg not disabling it's parent window.
- [Linux] Fixed modal dialogs killing the parent window's menus.
- [Linux] Improved edit box horizontal scrolling.
- [Linux] Fixed some issues in the clipping of graphics output and client areas.
- Work much harder at binary compatibility between lgi releases. By making private data reside in a data pointer class, not changing the virtual table of classes and not changing methods and their arguments.
- Clean up a lot of the #ifdef'd code in apps by providing an clean XP api for it in the class heirarchy. (Window icons)
- Move more of the code into the _Common dir. (Gdc esp)
- Merge all the _Linux/XWindows objects with their _Linux/Lgi cousins. That was just a legacy of using Qt as the framework way back at the start (it got booted after I read the license).