Up to Lgi...
About
Changes:
- [Linux] Implemented 64 bit versions for GFile's GetSize, SetSize, SetPos, GetPos, Seek.
- [Linux] Fixed the accelerator scanning and matching to cope with arbitary combinations of "Shift", "Alt", "Ctrl", "Del", "End", "Home", "PageUp", "PageDown", "Insert", "F1-F12" and alpha numeric characters, all blobed together with '+' signs. e.g.
Open\tCtrl+O Save\tCtrl+S Find Next\tF3 Stop\tCtrl+F5 Undo\tCtrl+Shift+Z
All work pretty much the way you'd expect. - [Linux] Fixed GWindow's OnViewKey handler to honour the widget wantKey()'s EnterKeys flag. And then added that flag to GFileSelects path edit box so that you can type in a new path and hit enter to browse to it. Instead of the enter activating the default GButton.
- [Linux] Fixed a crash when you Alt-F4 a GWindow/GDialog on the stack.
- [Linux] Added backspace key handler to the file selection dialog to move up a directory.
- Gave GList a private data class for binary compatibility.
- Added keyboard search to GList. Type in a string of characters or digits and the list will select the nearest match. If the time between keys is longer than 2 seconds then the previous key presses are thrown away.
- [Linux] Added enter key handler to GFileSelect's list area. On dir, enter sub dir, on file select file and OK.
- [Linux] Fixed GFileSelect multiple file selection.
- GMdi* classes now support active/inactive title bar colouring.
- GTextView3 supports indentsize and tabsize options, added hardtabs option. Added show whitespace option.
- Fixed GDisplayString::CharAt to return the correct position in a string when the location is inside a tab char.
- Added GTreeItem::_RePour to re layout the whole tree in the case that the tree's leaves have changed. Otherwise calling "Invalidate" just updates the current layout of tree items.
- [Linux] Added basic printing support via CUPS. GPrintDC method calls are converted down to PostScript (ugh!) and written to a file which is then passed along to CUPS for printing. It's an ugly hack and doesn't support images or international text but it's a start.
- Fixed multiline edit's to allow newlines to be entered.
- Fixed Match(...) not to capitalize it's arguments.
- [Linux] Fixed scrollbars flickering during repaint.
- [Linux] Implemented GFileSelect::OpenFolder().
- [WinNT4] (Speculative) Fix for glyph substitution on Windows NT.
- [WinXP] (Speculative) Fix for menubar background colour.
- Moved the LgiIsFileNameExecutable and LgiIsFileExecutable functions into the _Common area and implemented a handler for ELF format executables.
- Unified access to the process ID under both Win32 and Linux, as LgiProcessId() which returns the HINSTANCE under Windows and getpid() under Linux. Note: this only returns the turn hInstance under windows when you've constructed the singlton GApp object. So global variables/classes don't have access to it (they won't crash either).
- Added little arrows to scroll to the tabs on the GTabView control when there is not enough space to display all the tabs.
- [Linux] Implemented support for 3 state checkboxes.
- [Linux] Fixed a VK_DOWN bug in the tree control.
- [Linux] Fixed the main window losing activation when a menu is open. Yet the menu still gets the keyboard focus.
- [Linux] Moved all the code in qscrollbar up into GScrollBar to improve a pointless level of indirection. This will need to be applied to all the "q..." objects until there is just one layer. The q layer only exists as a legacy distinction when I was prototyping with Qt.
- [Win32] Merged the mouse hooks into the one peice of code, and put it into the GPopup file. No point in having 2 if 1 will do the job.
- Gave GTreeItem binary compatibility support.
- Fixed the gif filter to load local colour tables.
- Fixed a hash table delete entry bug.
- Fixed some issues with scroll bars. Added a little square to fill the region between the vertical and horizonatal bars when both are visible.
- Changed message define naming from WM_??? (Windows Message...) to M_??? (Message...). Because hey, this ain't just a windows library anymore. This means WM_USER changed as well to M_USER.
- [Linux] GTrayIcon now re-docks itself when the tray applet reparents it to the desktop.
- [Linux] GWindow::OnDrop now handles incomming URI's with '%' encoding.
- [Linux] Stopped the user being able to use the keyboard shortcuts for goto line, find and replace in the editbox control.
- [Linux] Moved the libsharedmime support into the GApp object so it doesn't have to be reloaded every time LgiGetFileMimeType is called. Considering that a non-trivial amount of parsing usually goes on when you load libsharedmime it seems a fair tradeoff. The only downside is that it'll hold on to it's look up tables which uses memory.
- Fixed the last child node being removed from a GTreeItem not updating the display to remove the +/- sign.
- [Linux] Added middle click support to the text control to paste the current selection.
- [Linux] Fixed GDateTime::Set(int64 &) to be in local time instead of GMT. Implemented GDateTime::Get(int64 &).