Revision control
++ Here is a list of (major) changes in Qt from 0.95 to 0.96.
++
++ Bug-fixes, optimizations and improved documentation, of course.
++ QClipboard is new.
++
++ There are some changes in the API (Qt header files). Some functions have
++ been renamed or the arguments have changed. The old versions of these
++ functions have been obsoleted. A call to an obsoleted function will by
++ default generate a runtime warning the first time it is called, but it
++ will be executed correctly. If you really need to ship code fast, you can
++ turn off the runtime obsolescence warnings by calling
++ qSuppressObsoleteWarnings().
++
++ Obsoleted functions will disappear in a future release. To get
++ compile-time errors for each use of an obsoleted function, compile your
++ code with -DTEST_OBSOLETE. You should recompile without this option when
++ you have upgraded your code (otherwise, you may get linking errors).
++ Note: it is probably not a good idea to compile the Qt library with
++ -DTEST_OBSOLETE, it may cause problems if you try to link or run
++ programs that use obsoleted functions.
++
++ For new users: obsoleted functions are no longer documented, in fact they
++ are not even visible in the documentation.
++
++ *************** Changes that might affect runtime behavior *****************
++
++ QFileInfo:
++ ----------
++ size() returns uint(previousy int), 0 if the size cannot be fetched (was -1).
++ Use isFile() to check.
++
++
++ QPopupMenu
++ ------------
++ When a popup menu is a submenu (directly or as a subsub...menu) of a
++ menu bar(QMenuBar), the menu bar will now always emit the activated() or
++ highlighted() signal when a submenu emits these signals. This fix might
++ have undesired effects if you previously have worked around it by
++ connecting to signals both in menu bar and its submenus.
++
++ *************** Changes that might generate compile errors *****************
++ ************** when compiling old code *****************
++
++ QDataStream:
++ -----------
++ Serialization of int and uint is no longer supported. Use INT32 and
++ UINT32 instead. This had to be changed in order to run Qt on 64-bit
++ architectures.
++
++
++ QImage:
++ -------
++ 24-bpp pixel format no longer supported, use 32-bpp instead.
++
++ This means that you have to use uint* instead of uchar* when accessing
++ pixel values. You cannot use the uchar* pointer directly, because the
++ pixel format depends on the byte order on the underlying platform. Use
++ qRgb() and friends (qcolor.h) to access the pixels.
++
++
++ QWidget:
++ --------
++ setMouseTracking() does not return bool. Call hasMouseTracking() to
++ determine the mouse tracking state. (This only affects code that
++ actually uses the return value.)
++
++ (There are other changes in QWidget, see below)
++
++
++ *************** Type changes that might generate warnings: *****************
++
++
++ QCache/QIntCache:
++ -----------------
++ Using int/uint instead of long/ulong.
++
++
++ QDate/QTime/QDateTime:
++ ----------------------
++ Using int/uint instead of long/ulong (MS-DOS required long).
++
++
++ QIODevice/QBuffer/QFile:
++ ------------------------
++ Using int/uint instead of long/ulong.
++
++
++ QKeyEvent:
++ ----------
++ ascii() now returns int (previously uchar).
++
++
++ QTableView:
++ ------------
++ uint used instead of ulong (tableFlags() etc.)
++
++
++ QTextStream:
++ ------------
++ int used instead of long (flags() etc.)
++
++
++ ***************** Obsoleted functions **********************
++
++ QAccel:
++ -------
++ enable(), disable() and isDisabled() are obsolete.
++ Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
++ isItemDisabled(), enableItem(), disableItem() are obsolete.
++ Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
++
++
++ QApplication:
++ -------------
++ cursor(), setCursor() and restoreCursor() obsoleted.
++ Use overrideCursor(), setOverrideCursor() and restoreOverrideCursor()
++ instead.
++
++
++ QBitmap:
++ --------
++ Constructor takes "const uchar *bits" instead of "const char *"
++ because of sign problems (uchar = unsigned char). Old constructors are
++ obsolete.
++
++
++ QButton:
++ --------
++ toggleButton() is obsolete, renamed to isToggleButton().
++
++
++ QColor:
++ -------
++ The functions QRED, QGREEN, QBLUE, QRGB, QGRAY obsolete.
++ Instead, use qRed, qGreen, qBlue, qRgb, qGray.
++
++
++ QComboBox:
++ ----------
++ setStrList() obsolete, use clear() + insertStrList() instead.
++ string() obsolete, use text() instead.
++
++
++ QLCDNumber:
++ ----------
++ longValue() is obsolete, use intValue() instead.
++
++
++ QListbox:
++ ---------
++ The macro LBI_String is obsolete, use LBI_text instead.
++ string() obsolete, use text() instead.
++ stringCopy() and setStringCopy() are obsolete.
++
++
++ QMenuData:
++ ----------
++ string() obsolete, use text() instead.
++ isItemDisabled(), enableItem(), disableItem() are obsolete.
++ Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
++ checkItem() and uncheckItem() are obsolete.
++ Use setItemChecked(TRUE/FALSE) instead.
++
++
++ QPainter:
++ ---------
++
++ drawBezier() is obsolete, general Bezier curves are rarely used and
++ cost too much. Qt will only support drawQuadBezier() (four-point
++ Bezier) in the future.
++
++ QPointArray:
++ -----------
++ move() is obsolete, use translate() instead.
++ bezier() is obsolete, general Bezier curves are rarely used and
++ cost too much. Qt will only support quadBezier() (four-point
++ Bezier) in the future.
++
++
++
++ QRect:
++ ------
++ move() is obsolete, use moveBy() instead.
++ setTopLeft(), setTopRight(), setBottomLeft(), setBottomRight() and
++ setCenter() is obsolete, use moveTopLeft(), moveTopRight(),
++ moveBottomLeft(), moveBottomRight() and moveCenter() instead.
++
++
++ QRegion:
++ -------
++ move() is obsolete, use translate() instead.
++
++
++ QSocketNotifier:
++ ----------------
++ enabled() is obsolete. Use isEnabled() instead.
++
++
++ QWidget:
++ --------
++ enable(), disable() and isDisabled() are obsolete.
++ Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
++
++ setMinimumSize(), setMaximumSize(), minimumSize(), maximumSize() are obsolete
++ use setMinSize(), setMaxSize(), minSize(), maxSize() instead.
++
++ enableUpdates() obsolete, use isUpdatesEnabled()/setUpdatesEnabled().
++
++ id() is obsolete, it has been renamed to winId().
++
++ ***************** All other changes from 0.95 to 0.96 **********************
++
++ moc
++ ----------
++ Gives a warning if no output is generated.
++
++
++ qglobal.h:
++ ----------
++ INT32 and UINT32 typedefs changed to work with DEC Alpha.
++
++
++ QApplication:
++ -------------
++ clipboard() is new.
++
++
++ QButtonGroup:
++ -------------
++ Exclusive group setting added (isExclusive and setExclusive).
++ find() is new.
++
++
++ QColor:
++ -------
++ New type QRgb (uint), used for RGB triplet.
++
++
++ QLineEdit:
++ ----------
++ You can now mark text, and copy and paste to/from the clipboard.
++
++
++ QPaintDevice:
++ ---------
++ The bitblt function now takes an ignoreMask parameter. It has a default
++ value, so no old code will be broken.
++
++ QPrinter:
++ ------------
++ fixed minor bugs in handling of polygons and beziers.
++
++
++ QWidget:
++ --------
++ New protected virtual functions styleChange(), backgroundColorChange(),
++ backgroundPixmapChange(), paletteChange() and fontChange().
++ These functions are called from setStyle(), setBackgroundColor() etc.
++ You can reimplement them to if you need to know when widget properties
++ changed and to optimize updates.
++
++ The destroyed() signal has been moved to QObject.
++