Faith

elevator bug-free fast-paced funk

home changelog api docs source code screenies
  • 2007 September 30:
    1. License is now LGPL 3 or later
    2. Cleanup of header files: headers no longer include X
    3. X11: Draw translucent pixmaps with XRender
    4. Support for IPv6
    5. X11: Merge "configure" events, making resizes much faster
    6. Support for Affine transformations with Faith::Matrix for lines, polygons and text, but not images
    7. Add an Affine transformation test program
    8. add a Url class for parsing URLs
    9. Make Slider provide the correct sizeHint
  • 2007 June 12:
    1. Win32: Compile on visual studio again
    2. Don't crash when deleting a Socket from its own canRead signal just after it was disconnected
    3. Don't fire off Timers after they've been disabled, and then crash
    4. Win32: don't loop around a lot forgetting to get socket and timer events
    5. Unix: use poll() instead of select()
    6. Win32: add an implementation of the Object copy-constructor so that Microsoft's broken compiler works
    7. Unix: Actually let the port get assigned properly when you specify a hostname
  • 2007 April 25:
    1. Make it possible to delete objects from their own slots and signals.
    2. Slots and signals may be used across all threads
    3. Copyright/license headers
    4. Win32: a far faster event loop and support for waiting on any kind of Event
    5. XML entity support in MiniXML
    6. X11: Don't stupidly cause SocketNotifiers to go off spuriously because a signal was received
    7. Check the faith version in magna's output
    8. Don't crash if deleting a Timer from its activated callback
    9. X11: Make O_REUSEADDR actually get used when creating a ServerSocket
    10. Add Socket::address to get the local connected address
    11. Add SocketServer::handle
  • 2006 December 22: Solstice Edition
    1. Support for ARGB Visuals, making Faith the very first X11 toolkit that supports this feature. This means that, if you have Composite enabled, you can draw transparent windows. See a screenshot, and example code.
    2. X11 cleanups
  • 2006 December 20:
    1. symbol visiblity for class Clipboard
    2. fixed infinite loop when using X11 build with gui disabled
    3. remove obsolete debug cerr
    4. after normalizing the slot and signal names, use the normalized names :)
    5. new feature: LineEdit::setPassword(bool)
  • 2006 November 28:
    1. X11: potential crash fixes
    2. removed memory leaks when doing a connect
    3. smaller magna code
    4. removed ComboBox mem leak
    5. reorganize listview code a bit
    6. implement ServerSocket::setAddress(), Socket::handle()
    7. magna spits out the full namespace now in certain important locations
  • 2006 November 6:
    1. use Win32 system colors
    2. Make Socket behave much more similarly on Win32 and Linux, and possibly correctly, too
    3. Test program for the Socket class
    4. Experimental and naïve paste support on X11
  • 2006 October 10:
    1. use X Resources to get default colors
    2. Win32: fix painting of Bitmaps
    3. class Style: get widget mask functions
    4. Win32: assign to blue in Color
    5. disallow copy constructor in Object
    6. BoxLayout bugfix
    7. MenuItem::setEnabled
  • 2006 October 2:
    1. refix a couple of Socket bugs
    2. actually don't deliver signals to slots that were connected from within that same signal, really
    3. Directory mode in FileDialog, and some bug fixes
  • 2006 October 1:
    1. Posix: handle ".." in canonicalPath
    2. make some convenience facade functions in ComboBox and ListBox
    3. Up button and Directory box in FileDialog
    4. LineEdit doesn't put carat past end of text
    5. ListView: Make it crash resistant when using the API stupidly
    6. ListBox: setCurrent, and also text() should be correct
  • 2006 September 29:
    1. Compile fixes
    2. don't deliver signals to slots that were connected from within that same signal
  • 2006 September 26:
    1. Dir::canonicalPath
    2. Dir::isRelative
    3. configure --disable-imageio
    4. small compile fixes on old-bashes and other bourne-style shells
  • 2006 September 17:
    1. fix crash bug when using Layouts in Layouts
    2. paint at the correct place when changing the origin and then PaintDevices
    3. inherit ColorGroup from parent widgest
    4. support filtering in Dir
    5. FileDialog kind of (but not completely) works now
    6. optionally delete items from a ListItemSet when removed
    7. add a clear function to ListItemSet
    8. reduce ListView flicker
  • 2006 September 12:
    1. widgets always report their correct size when they have a layout: the effect of layouts is always immediate
    2. Win32: fix picture painting again, completely
    3. fewer unnecessary includes
    4. fix crash bug in ListView
    5. horizontal scrollbars work again properly
  • 2006 September 10:
    1. X11: Fewer X errors on exit
    2. Sensible multiplatform mouse grabbing
    3. Very improved combobox, now with non-editable mode
    4. ListBox and ListView less crashy
    5. Magna normalizes properly
    6. Win32: Actually handle closed socket connections
    7. Win32: Don't forget to paint widget sometimes
    8. Win32: Don't make widgets smaller than 1x1 so they are always painted
    9. Win32: make ListBox and ListView even close to working
    10. Win32: --nograb support
    11. Allow widgets to disabled and enabled
  • 2006 September 7: Bugfixes galore!
    1. Crash less
    2. Win32: don't forget to repaint windows
    3. Win32: use the correct default system font
    4. Win32: drawImage fixed on bpp!=32
    5. Win32: allow setting different font weights
    6. Ignore hidden widgets in layouts
    7. Slightly closer to Layouts in Layouts
    8. Know the size of widgets sooner
    9. X11: Fix popup windows
    10. Resized layouts now propagate up the tree and may cause their parent to relayout
    11. Label supports wordwrap (Layout still doesn't understand heightforwidth windows though)
  • 2006 September 4:
    1. X11: broken clipboard paste (experimental)
    2. X11: modal event loops (experimental, for clipboard)
    3. Arrow keys
    4. mouse grabbing semantic fixes
    5. X11: semantic fixes for Popup style widgets
    6. X11: setCaption fixes for old window managers
    7. Severe bugs in Socket/SocketServer fixed
    8. Shift works in Lineedit (although not on Win32 for other reasons...)
    9. LineEdit scrolls properly now
  • 2006 August 31:
    1. Compile fixes
    2. -fvisibility support on Linux
    3. fixed visibility on win32
    4. shared library support on mingw32 with autoconf
  • 2006 August 30:
    1. slightly cleaned up Makefile.ams
    2. add a LineEdit::returnPressed
    3. LineEdit shouldn't put invisible characters in when you press enter
    4. Object now detects and reports certain illegal operations and reports them before you have to do lots of debugging
    5. Object::deleteLater is now a slot
    6. make clean has a bigger broom
    7. the pushbutton doesn't randomly pop back up
  • 2006 August 29:
    1. When timers are longer than 1 second, don't overflow and go too soon
    2. Win32: Don't send some keypress events twice
    3. X11: don't leak the Clipboard object, as it's unused anyway
    4. X11: do XCloseDisplay
    5. When an object is deleted, disconnect signals connected to it (eep!)
    6. make magna code smaller
    7. Win32: when a remote socket closes the connection brutally, emit the signal
    8. always have a newline at the end of magna files
  • 2006 August 28:
    1. Support (with autoconf) cross-compiling to mingw32
    2. Compile fixes
    3. Handle keysym translation on Windows better
    4. Cosmetic fixes to ScrollView
    5. New Class: Dir, a directory listing class
    6. Fixes to magna's template support
    7. Add Label to the windows build
  • 2006 August 23:
    1. Don't leak memory when using userevents (make ~Event() virtual)
  • 2006 August 22:
    1. A new threadsafe Application::postMessage()
    2. Compile fixes on windows
    3. Unix: Don't hog CPU power with NOGUI
    4. New function: Faith::Socket::peer()
  • 2006 August 18: New release with Visual Studio updates.
    1. Support for NOGUI mode on Unix (--enable-no-gui)
    2. A ServerSocket class on Linux and on Windows
    3. Don't have socketnotifier notify right after another notifier is triggered
    4. The socket class should not claim its peer was disconnected if a connection failed
  • 2006 March 22: New Release. Since I don't have Visual Studio, some VS Project settings will need to be updated to reflect new added source files
    1. Finally supports normalization of slots and signals
    2. X11: Improve semantics of Widget::grabMouse()
    3. New Widget: ComboBox
    4. New Widget: ListBox
    5. Enhancements to magna's template support
    6. GridLayout now works properly
  • 2006 March 15: Regenerated docs at long last
  • 2006 March 15: New Release with many improvements, the first working Windows release in a while:
    1. Win32: SocketNotifier works, 100%
    2. Win32: Painter::drawImage significantly faster
    3. Win32: Builds now on VS.NET (replaced old project files)
    4. Win32: keyboard input works
    5. Win32: fix focus problems
    6. Win32: Still compiles with winelib (Linux: --enable-wine)
    7. TCP/IP sockets (outgoing only), Win32 and Unix
    8. Fix small layout bug (gridlayout still rather broken, though)
    9. Postscript output support, very incomplete, supports TTF (no font support on windows)
    10. Fewer crashes in Faith::Image constructor
    11. add Faith::String::operator=(char)
  • 2006 January 24: New Release with many improvements:
    1. initial layout management support
    2. various bugs fixed
    3. improved build system
    4. fix wine build
    5. remove debug messages
    6. new functions FontMetrics::size
    7. closer to letting you put layouts in layouts
    8. improve paletteBackgroundColor
    9. new class Layout,HBoxLayout,VBoxLayout,GridLayout
    10. classes Label and LineEdit position text better
    11. LineEdit blinks carat at better moments
    12. classes Label, LineEdit, ListView, PushButton provide better sizehints and size policies
    13. ListView has the magic visibility defines
  • 2006 January 12: New Release with various minor improvements and also the experimental ListView class