Revision control
++ Here is a list of user-visible changes in Qt from 1.2 to 1.30. As
++ usual, we fixed some bugs, made some more speedups, and improved the
++ documentation.
++
++ Keyboard accelerators and traversal are significantly improved.
++
++ Two new extensions included with Qt 1.30. They are not part of the library:
++
++ Netscape plugin support. You can now write portable Netscape plugins
++ using Qt. See the qt/extensions/nsplugin directory in the distribution.
++
++ The ImageIO extension library gives a framework for adding new image
++ formats, including PNG and JPEG in this release. See the qt/extensions/imageio
++ directory in the distribution.
++
++ The OpenGL extension for Qt now resides in qt/extensions.
++
++
++ ****************************************************************************
++ * New classes *
++ ****************************************************************************
++
++ * QProgressBar displays a progress bar.
++
++ * QProgressDialog uses QProgressBar to give the user feedback during long
++ operations, as well as a means of aborting.
++
++ * QMovie supports animated GIFs and incremental loading of images.
++
++ * QHBoxLayout and QVBoxLayout are convenience classes giving a simpler
++ interface to QBoxLayout.
++
++ * QValidator provides a mechanism for validating input.
++
++
++ ****************************************************************************
++ * Enhancements from 1.2 to 1.30 *
++ ****************************************************************************
++
++ QFont now supports charsets latin1 through latin9.
++
++ New command-line arguments: -style motif and -style windows are
++ accepted, as well as -style=motif and -style=windows, -visual, -ncols,
++ -cmap.
++
++ QMultiLineEdit is usable for much bigger documents than in 1.2
++
++ More sizeHint() functions added, some existing ones tweaked.
++
++ Many widgets have improved look and feel, particularly changes to
++ Windows GUI style to match Windows more closely.
++
++ Improved Postscript output.
++
++ Color handling has been improved; better 32-to-8 conversion; Qt
++ prefers to use Macintosh/Netscape color cube in 8-bit mode; more and
++ better dithering support.
++
++ GIF and PPM support.
++
++ QMessageBox has a number of new static functions to replace the
++ venerable message(): information(), warning(), critical() and about().
++
++ QPopupMenu can now display icon and text in the same item.
++
++ QPopupMenu::exec() to pop up a synchronous popup menu.
++
++ QListBox now supports multi selection.
++
++ QWidget::setBackgroundMode() gives a powerful way of managing widget
++ backgrounds, to reduce flicker.
++
++ QWidget::setIcon() now works under both X11 and Windows.
++
++ The file dialog now remembers the previously selected directory.
++
++ QApplication::setWinStyleHighlightColor() sets the highlight color in
++ windows style.
++
++ QApplication::setDoubleClickInterval() sets the double click timeout
++
++ The layout example is new and more informative.
++
++ There is a new openGL example; extension/opengl/examples/box/ shows
++ how to control an openGL widget using Qt user interface components.
++
++
++ ****************************************************************************
++ * Changes that might affect runtime behavior *
++ ****************************************************************************
++
++ Tab/Shift-Tab handling has been improved a lot; this means that
++ widgets which couldn't get keyboard focus before now can.
++
++ Some widgets (buttons, tab bars, tab dialogs) semi-automatically set
++ up keyboard accelerators. ( setText("E&xit") will give Alt-X as an
++ accelerator.) In some very rare cases, this will cause changes of
++ behaviour.
++
++ The QColor::light() function now works, and anything which relied on
++ its buggy behaviour might be a little darker than expected until changed,
++ usually just recompiling (the default argument has also changed).
++
++ The colors used have been tuned a bit; pixmaps that "know" the RGB
++ values of colorGroup().background() and the like will look just a tiny
++ bit wrong.
++
++ QApplication calls setlocale to the local environment, except for
++ LC_NUMERIC which is set to the C locale. This means that input/output
++ of floating point numbers will always use '.' as the decimal separator,
++ while all other locale dependant operations will use the default locale.
++
++
++ ****************************************************************************
++ * Changes that might generate compile errors *
++ * when compiling old code *
++ ****************************************************************************
++
++ none
++
++ ****************************************************************************
++ * Type changes that might generate warnings: *
++ ****************************************************************************
++
++ none
++
++ ****************************************************************************
++ * Deprecated functions *
++ ****************************************************************************
++
++ QApplication::setColorMode()
++ - see QApplication::setColorSpec(int)
++ QRegion::xor()
++ - see QRegion::eor()
++ QMessageBox::message()
++ - see QMessageBox::information/warning/critical
++ QMultiLineEdit::getCursorPosition()
++ - see QMultiLineEdit::cursorPosition()
++ QTabDialog::setOKButton()
++ - see QTabDialog::setOkButton()
++
++ ****************************************************************************
++ * New public/protected functions added to existing classes *
++ ****************************************************************************
++
++ QAccel::repairEventFilter()
++ QApplication::activeModalWidget()
++ QApplication::activePopupWidget()
++ QApplication::allWidgets()
++ QApplication::doubleClickInterval()
++ QApplication::hasGlobalMouseTracking()
++ QApplication::processEvents(int)
++ QApplication::processOneEvent()
++ QApplication::setDoubleClickInterval(int)
++ QApplication::setGlobalMouseTracking(bool)
++ QApplication::setWinStyleHighlightColor(QColor const &)
++ QApplication::winStyleHighlightColor()
++ QApplication::x11ProcessEvent(_XEvent *)
++ QBoxLayout::className() const
++ QButton::accel() const
++ QButton::animateClick()
++ QButton::enabledChange(bool)
++ QButton::setAccel(int)
++ QComboBox::clearValidator()
++ QComboBox::setStyle(GUIStyle)
++ QComboBox::setValidator(QValidator *)
++ QComboBox::validator() const
++ QDir::convertSeparators(char const *)
++ QFrame::sizeHint() const
++ QGridLayout::addColSpacing(int, int)
++ QGridLayout::addRowSpacing(int, int)
++ QGridLayout::className() const
++ QImage::convertDepth(int, int) const
++ QImage::create(QSize const &, int, int, QImage::Endian)
++ QImage::createAlphaMask(int) const
++ QImage::inputFormats()
++ QImage::outputFormats()
++ QImage::pixel(int, int) const
++ QImage::pixelIndex(int, int) const
++ QImage::setPixel(int, int, unsigned int)
++ QImage::valid(int, int) const
++ QImageIO::inputFormats()
++ QImageIO::outputFormats()
++ QLabel::movie() const
++ QLabel::setMovie(QMovie const &)
++ QLayout::className() const
++ QLineEdit::clearValidator()
++ QLineEdit::setValidator(QValidator *)
++ QLineEdit::sizeHint() const
++ QLineEdit::validator() const
++ QListBox::clearSelection()
++ QListBox::focusOutEvent(QFocusEvent *)
++ QListBox::highlighted(char const *)
++ QListBox::isMultiSelection() const
++ QListBox::isSelected(int) const
++ QListBox::selected(char const *)
++ QListBox::selectionChanged()
++ QListBox::setMultiSelection(bool)
++ QListBox::setSelected(int, bool)
++ QListBox::toggleCurrentItem()
++ QMenuBar::heightForWidth(int) const
++ QMenuBar::leaveEvent(QEvent *)
++ QMenuBar::separator() const
++ QMenuBar::setSeparator(QMenuBar::Separator)
++ QMenuData::changeItem(QPixmap const &, char const *, int)
++ QMenuData::insertItem(QPixmap const &, char const *, QObject const *, char const *, int)
++ QMenuData::insertItem(QPixmap const &, char const *, QPopupMenu *, int, int)
++ QMenuData::insertItem(QPixmap const &, char const *, int, int)
++ QMessageBox::about(QWidget *, char const *, char const *)
++ QMessageBox::aboutQt(QWidget *, char const *)
++ QMessageBox::buttonText(int) const
++ QMessageBox::critical(QWidget *, char const *, char const *, char const *, char const *, char const *, int, int)
++ QMessageBox::critical(QWidget *, char const *, char const *, int, int, int)
++ QMessageBox::icon() const
++ QMessageBox::iconPixmap() const
++ QMessageBox::information(QWidget *, char const *, char const *, char const *, char const *, char const *, int, int)
++ QMessageBox::information(QWidget *, char const *, char const *, int, int, int)
++ QMessageBox::setButtonText(int, char const *)
++ QMessageBox::setIcon(QMessageBox::Icon)
++ QMessageBox::setIconPixmap(QPixmap const &)
++ QMessageBox::setStyle(GUIStyle)
++ QMessageBox::standardIcon(QMessageBox::Icon, GUIStyle)
++ QMessageBox::warning(QWidget *, char const *, char const *, char const *, char const *, char const *, int, int)
++ QMessageBox::warning(QWidget *, char const *, char const *, int, int, int)
++ QMultiLineEdit::cursorPoint() const
++ QMultiLineEdit::cursorPosition(int *, int *) const
++ QMultiLineEdit::getMarkedRegion(int *, int *, int *, int *) const
++ QPainter::drawPoints(QPointArray const &, int, int)
++ QPainter::drawWinFocusRect( int, int, int, int, const QColor & )
++ QPalette::detach()
++ QPicture::data() const
++ QPicture::isNull() const
++ QPicture::setData(char const *, unsigned int)
++ QPicture::size() const
++ QPixmap::convertFromImage(QImage const &, int)
++ QPixmap::load(char const *, char const *, int)
++ QPixmap::loadFromData(unsigned char const *, unsigned int, char const *, int)
++ QPopupMenu::exec()
++ QPopupMenu::setActiveItem(int)
++ QRegion::eor(QRegion const &) const
++ QSize::transpose()
++ QTabBar::setCurrentTab(QTab *)
++ QTabBar::setCurrentTab(int)
++ QTabBar::setShape(QTabBar::Shape)
++ QTabBar::shape() const
++ QTabBar::tab(int)
++ QTabBar::tabList()
++ QTabDialog::addTab(QWidget *, QTab *)
++ QTabDialog::hasOkButton() const
++ QTabDialog::selected(char const *)
++ QTabDialog::setTabBar(QTabBar *)
++ QTabDialog::showPage(QWidget *)
++ QTabDialog::styleChange(GUIStyle)
++ QTabDialog::tabBar() const
++ QTabDialog::tabLabel(QWidget *)
++ QTableView::minViewX() const
++ QTableView::minViewY() const
++ QTableView::updateTableSize()
++ QToolTip::font()
++ QToolTip::palette()
++ QToolTip::setFont(QFont const &)
++ QToolTip::setPalette(QPalette const &)
++ QWidget::backgroundMode() const
++ QWidget::create(unsigned int, bool, bool)
++ QWidget::destroy(bool, bool)
++ QWidget::focusProxy() const
++ QWidget::focusWidget() const
++ QWidget::isVisibleToTLW() const
++ QWidget::setBackgroundMode(QWidget::BackgroundMode)
++ QWidget::setFixedHeight(int)
++ QWidget::setFixedWidth(int)
++ QWidget::setFocusProxy(QWidget *)
++ QWidget::setMaximumHeight(int)
++ QWidget::setMaximumWidth(int)
++ QWidget::setMinimumHeight(int)
++ QWidget::setMinimumWidth(int)
++ QWidget::setTabOrder(QWidget *, QWidget *)
++ QWidget::update(QRect const &)