1Here is a list of (major) changes in Qt from 0.95 to 0.96.
2
3Bug-fixes, optimizations and improved documentation, of course.
4QClipboard is new.
5
6There are some changes in the API (Qt header files).  Some functions have
7been renamed or the arguments have changed. The old versions of these
8functions have been obsoleted. A call to an obsoleted function will by
9default generate a runtime warning the first time it is called, but it
10will be executed correctly. If you really need to ship code fast, you can
11turn off the runtime obsolescence warnings by calling
12qSuppressObsoleteWarnings().
13
14Obsoleted functions will disappear in a future release.  To get
15compile-time errors for each use of an obsoleted function, compile your
16code with -DTEST_OBSOLETE. You should recompile without this option when
17you have upgraded your code (otherwise, you may get linking errors).
18Note: it is probably not a good idea to compile the Qt library with
19-DTEST_OBSOLETE, it may cause problems if you try to link or run
20programs that use obsoleted functions.
21
22For new users: obsoleted functions are no longer documented, in fact they
23are not even visible in the documentation.
24
25*************** Changes that might affect runtime behavior *****************
26
27QFileInfo:
28----------
29  size() returns uint(previousy int), 0 if the size cannot be fetched (was -1).
30	Use isFile() to check.
31
32
33QPopupMenu
34------------
35  When a popup menu is a submenu (directly or as a subsub...menu) of a
36  menu bar(QMenuBar), the menu bar will now always emit the activated() or
37  highlighted() signal when a submenu emits these signals. This fix might
38  have undesired effects if you previously have worked around it by
39  connecting to signals both in menu bar and its submenus.
40
41*************** Changes that might generate compile errors *****************
42**************           when compiling old code           *****************
43
44QDataStream:
45-----------
46  Serialization of int and uint is no longer supported. Use INT32 and
47  UINT32 instead. This had to be changed in order to run Qt on 64-bit
48  architectures.
49
50
51QImage:
52-------
53  24-bpp pixel format no longer supported, use 32-bpp instead.
54
55  This means that you have to use uint* instead of uchar* when accessing
56  pixel values. You cannot use the uchar* pointer directly, because the
57  pixel format depends on the byte order on the underlying platform. Use
58  qRgb() and friends (qcolor.h) to access the pixels.
59
60
61QWidget:
62--------
63  setMouseTracking() does not return bool. Call hasMouseTracking() to
64  determine the mouse tracking state. (This only affects code that
65  actually uses the return value.)
66
67  (There are other changes in QWidget, see below)
68
69
70*************** Type changes that might generate warnings: *****************
71
72
73QCache/QIntCache:
74-----------------
75  Using int/uint instead of long/ulong.
76
77
78QDate/QTime/QDateTime:
79----------------------
80  Using int/uint instead of long/ulong (MS-DOS required long).
81
82
83QIODevice/QBuffer/QFile:
84------------------------
85  Using int/uint instead of long/ulong.
86
87
88QKeyEvent:
89----------
90  ascii() now returns int (previously uchar).
91
92
93QTableView:
94------------
95  uint used instead of ulong (tableFlags() etc.)
96
97
98QTextStream:
99------------
100  int used instead of long (flags() etc.)
101
102
103*****************         Obsoleted functions         **********************
104
105QAccel:
106-------
107  enable(), disable() and isDisabled() are obsolete.
108  Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
109  isItemDisabled(), enableItem(), disableItem() are obsolete.
110  Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
111
112
113QApplication:
114-------------
115  cursor(), setCursor() and restoreCursor() obsoleted.
116  Use overrideCursor(), setOverrideCursor() and restoreOverrideCursor()
117  instead.
118
119
120QBitmap:
121--------
122  Constructor takes "const uchar *bits" instead of "const char *"
123  because of sign problems (uchar = unsigned char). Old constructors are
124  obsolete.
125
126
127QButton:
128--------
129  toggleButton() is obsolete, renamed to isToggleButton().
130
131
132QColor:
133-------
134  The functions QRED, QGREEN, QBLUE, QRGB, QGRAY obsolete.
135  Instead, use  qRed, qGreen, qBlue, qRgb, qGray.
136
137
138QComboBox:
139----------
140  setStrList() obsolete, use clear() + insertStrList() instead.
141  string() obsolete, use text() instead.
142
143
144QLCDNumber:
145----------
146  longValue() is obsolete, use intValue() instead.
147
148
149QListbox:
150---------
151  The macro LBI_String is obsolete, use LBI_text instead.
152  string() obsolete, use text() instead.
153  stringCopy() and setStringCopy() are obsolete.
154
155
156QMenuData:
157----------
158  string() obsolete, use text() instead.
159  isItemDisabled(), enableItem(), disableItem() are obsolete.
160  Use !isItemEnabled(), setItemEnabled(TRUE/FALSE) instead.
161  checkItem() and uncheckItem() are obsolete.
162  Use setItemChecked(TRUE/FALSE) instead.
163
164
165QPainter:
166---------
167
168  drawBezier() is obsolete, general Bezier curves are rarely used and
169  cost too much. Qt will only support drawQuadBezier() (four-point
170  Bezier) in the future.
171
172QPointArray:
173-----------
174  move() is obsolete, use translate() instead.
175  bezier() is obsolete, general Bezier curves are rarely used and
176  cost too much. Qt will only support quadBezier() (four-point
177  Bezier) in the future.
178
179
180
181QRect:
182------
183  move() is obsolete, use moveBy() instead.
184  setTopLeft(), setTopRight(), setBottomLeft(), setBottomRight() and
185  setCenter() is obsolete, use moveTopLeft(), moveTopRight(),
186  moveBottomLeft(), moveBottomRight() and moveCenter() instead.
187
188
189QRegion:
190-------
191  move() is obsolete, use translate() instead.
192
193
194QSocketNotifier:
195----------------
196  enabled() is obsolete. Use isEnabled() instead.
197
198
199QWidget:
200--------
201  enable(), disable() and isDisabled() are obsolete.
202  Use setEnabled(TRUE/FALSE) and !isEnabled() instead.
203
204  setMinimumSize(), setMaximumSize(), minimumSize(), maximumSize() are obsolete
205  use setMinSize(), setMaxSize(), minSize(), maxSize() instead.
206
207  enableUpdates() obsolete, use isUpdatesEnabled()/setUpdatesEnabled().
208
209  id() is obsolete, it has been renamed to winId().
210
211***************** All other changes from 0.95 to 0.96 **********************
212
213moc
214----------
215    Gives a warning if no output is generated.
216
217
218qglobal.h:
219----------
220  INT32 and UINT32 typedefs changed to work with DEC Alpha.
221
222
223QApplication:
224-------------
225  clipboard() is new.
226
227
228QButtonGroup:
229-------------
230  Exclusive group setting added (isExclusive and setExclusive).
231  find() is new.
232
233
234QColor:
235-------
236  New type QRgb (uint), used for RGB triplet.
237
238
239QLineEdit:
240----------
241  You can now mark text, and copy and paste to/from the clipboard.
242
243
244QPaintDevice:
245---------
246  The bitblt function now takes an ignoreMask parameter. It has a default
247  value, so no old code will be broken.
248
249QPrinter:
250------------
251  fixed minor bugs in handling of polygons and beziers.
252
253
254QWidget:
255--------
256  New protected virtual functions styleChange(), backgroundColorChange(),
257  backgroundPixmapChange(), paletteChange() and fontChange().
258  These functions are called from setStyle(), setBackgroundColor() etc.
259  You can reimplement them to if you need to know when widget properties
260  changed and to optimize updates.
261
262  The destroyed() signal has been moved to QObject.
263
264