Compare commits

...

298 Commits

Author SHA1 Message Date
Slávek Banko e99bbda734
Use empty d->cString for TQString::shared_null instead of null string.
This restores consistency for the behavior of methods TQString::utf8()
and TQString::local8Bit() with null TQStrings.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
3 years ago
Slávek Banko 93058fb0a3
Avoid changes of d->cString for TQString::shared_null to make the value reliable.
This precedes unnecessary allocations, potential use after free and crashes.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
3 years ago
OBATA Akio 1e77a5569b
tools: fix to use `pthread_t` for Thread ID
Thread ID is opaque type pthread_t, it may not be compatible with integer,
and may integer with valid id `0`.
Change to store mutex owner thread ID as `pthread_t` type with valid flag
and compare with `pthread_equal()`,

and don't try to print it.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
Slávek Banko 38048ca615
Use the tqInstallPath* functions for all paths needed for the pkg-config file.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
gregory guy 81c83b98e4
Add a translationsdir variable to the tqt pkgconfig file (tqt-mt.pc).
Signed-off-by: gregory guy <gregory-tde@laposte.net>
4 years ago
Ray-V 03d5d59646
Add unicode points so that upper() and lower() functions work for:
- latin letter sharp s
 - latin letter glottal stop
 - greek lunate sigma symbol
 - greek letter san

Signed-off-by: Ray-V <ray-v@inbox.lv>
4 years ago
Michele Calgaro 300c4d2bd2
Added tqDebug/tqWarning/tqFatal functions that takes a QCString
argument. This fixes FTBFS of examples caused by previous ambiguous
call and solves bug 3021.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
4 years ago
Slávek Banko e406862cea
Fix buildkey for GCC >= 7 if the version is listed including minor numbers.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Slávek Banko 94748b6b74
Undo an unwanted deletion of the 'register' in the string.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Slávek Banko 9d7d238e9e
Fix buffer overflow in XBM parser.
Avoid parsing over the buffer limit, or interpreting non-hex as hex.
This still leaves parsing of lines longer than 300 chars unreliable.

Based on Qt5 patch for CVE-2020-17507.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Slávek Banko 511e8c7720
Update buildkey for >= GCC 9.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
OBATA Akio 5b1f8617d1
Prevent to set build directories as RPATH
It result in unwanted RPATH reference from installed binaries.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio a35e51a4fd
Fix `qt_xft_handle` to work as expected
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 82d40179ad
Fix MIT_SHM related condition
Prevent to build MIT_SHM related codes for !QT_MITSHM condition.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio d61a821ad0
Fix to detect Thread Execution Scheduling support correctly
If `_POSIX_THREAD_PRIORITY_SCHEDULING == 0`, it must be checked
with sysconf(_SC_THREAD_PRIORITY_SCHEDULING) at runtime.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 53ff73cc35
Remove debug config for inputmethod plugins
No reason to force to debug build.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 20597c412f
Fix to set libtool special mode-args as a compiler flag
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio ac08552d14
Fix to record {MAJOR}.{MINOR} to `library_names` in libtool file
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 4596513c45
Fix to set `old_library` in libtool file only for `staticlib` project
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 5c32919647
Fix potentially buffer overrun related to readlink(2)
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 30a7754971
Fix to detect file conponent from path properly in Makefile generator
It should be either `path.right(path.length() - sep_pos - 1)` or
`path.mid(sep_pos + 1)`.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio bade711c82
Fix to detect XRandR on multi-prefix package platforms
Change to find two XrandR header files from invidual directory.
"Xrandr.h" is in `libXrandr`, and "randr.h" is in `xorgproto` (used to be
`randrproto`) package, so they may be installed into different prefix.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio b00b5ea1c5
Remove unwanted code for writing png
`info_ptr->channels` will be set in the next called `png_set_IHDR()`,
so it is no effect.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 2283b5627d
Change to use PKG_LIBPNG_VER for libpng version check
It is suggested in png.h for applications.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 1048895383
Update X11 path on NetBSD
It should be X11R7 on modern ports with recent releases.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 6f2da8af3a
Fix to display verbose message in some config tests
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio b676c7f90b Improve modern res API available condition
`__RES` is usable to check release date of resolver library.
Such modern res API appeared in BIND-8.2.0 libbind with __RES == 19980901,
it was refrected as BIND-8.2.2-P5 in glibc in pre 2.3 release with
__RES == 19991006.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 0a9cd6f754
Replace dead URLs of "SEE ALSO" section in man pages to trinity ones
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio 441ec666a9 Fix makeqpf man page based on source codes
Change to use usage of the command instead of copy from qembed's one for
"SYNTAX" section.
Fix fontdir path from source code.

Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
OBATA Akio a50c78b668 Fix a typo in linguest man page
Signed-off-by: OBATA Akio <obache@wizdas.com>
4 years ago
Michele Calgaro bc1b1fed7d
Improved code for keyboard and mouse grabbing and releasing to avoid
unnecessary actions. This relates loosely to bug 2955.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
4 years ago
Michele Calgaro 1c53644408
Removed incorrect execution bit.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
4 years ago
Slávek Banko 990d01f066
The translation file mywidget_en.ts in examples/i18n renamed
to mywidget.ts to serve as a template.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Slávek Banko 8b71fd2791
Fix typo.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Slávek Banko fc8564a5f0
Remove dates from generated files.
This is related to the effort for reproducible builds.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
Michele Calgaro 961eb3f6e2
Removed explicit usage of the 'register' keyword.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
4 years ago
Slávek Banko b08a6d71ba
Fix crash in tqimage for certain malformed ppm image files
The ppm format specifies that the maximum color value field must be
less than 65536. The handler did not enforce this, leading to
potentional overflow when the value was used in 16 bits context.

Based on Qt5 patch for CVE-2018-19872.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko 40078adb6a
Fix FTBFS when building with musl libc.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko 271050fb4c
Fix build with PostgreSQL 12+.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
François Andriot aa53689da2
Remove bool/my_bool artifact, the 'bool' data type is part of the c++
language and was added to c compilers with c99.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Chris d368cdf93e Replace dead trolltech website with trinity ones.
Signed-off-by: Chris <xchrisx@uber.space>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Slávek Banko edad20d4f9
Change tests for glibc version.
It resolves building with libc libraries
other than glibc - for example musl libc.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko 934bc28242
Removed symlink to qpaintdc.h related to Qt1 removed in commit 03814b8bdd.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
gregory guy 1ef55acbce
The TDE integration library (libqtkde) will be searched for
in the Qt plugins directory, instead of the TDE plugins
directory, which cannot be known at Qt build time.

This resolves issue #3.

Signed-off-by: gregory guy <g-gregory@gmx.fr>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
gregory guy 7c13f5df2f
This fixes bug: 639
Add desktop files for:
- assistant-qt3
- designer-qt3
- linguist-qt3
- qtconfig-qt3

These files have been made with the contribution of Laurent Dard's
patch (see bugzilla:639) with little change/addition from I.

Add 'sysshare' option to the configure script.

Signed-off-by: gregory guy <g-gregory@gmx.fr>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Michele Calgaro 09f45583d9
Adjusted to use new QStringVariantMap type.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Michele Calgaro 8e3ec3023b
Added convenient QStringVariantMap type and iterators.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Michele Calgaro a2fa7ca983
Adjusted to latest QVariant::QVariant(bool) function.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Michele Calgaro 2c29133f7e
Added utility functions qDebug/qWarning/qFatal based on QString parameter.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Michele Calgaro 3ae061484d
Added timestamp to debug functions (qDebug, qWarning, qFatal).
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
6 years ago
Slávek Banko a00e43bd1c
bmp image: check for out of range image size.
Make the decoder fail early to avoid spending time and memory on
attempting to decode a corrupt image file.

Based on Qt5 patch for CVE-2018-19873.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko a04cfea092
Check for QImage allocation failure in qasyncimageio.
Since image files easily can be (or corrupt files claim to be) huge,
it is worth checking for out of memory situations.

Based on Qt5 patch for CVE-2018-19870.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko ee61bf8d1a
Add the definition _WANT_SEMUN to ensure the definition of the semun structure.
This resolves bug 2991.

Thanks to Nikolaus Klepp for initial patch.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko 0a1966b25e
Make use of QString::utf8() and QString::local8Bit() safe for conversion to char*.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
6 years ago
Slávek Banko 26c3a9ba48
Enable gcc visibility support for *BSD builds.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Slávek Banko 72dfa4c3d1
Rename qt_untranslated.ts to template.ts
to make it clear for what purpose this file is intended.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Michele Calgaro 19ef3e4359
Improved class name used in previous commit. Suggestion comes from Slavek :-)
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Michele Calgaro 4a5da4685a
Fixed FTBFS caused by name conflict with new postgres server dev 11
package.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Michele Calgaro 0614be0921
Removed obsolete CHECK_PTR and replaced CHECK_PTR/Q_CHECK_PTR with TQ_CHECK_PTR.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Michele Calgaro 03814b8bdd
Removed some obsolete code related to Qt1.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Slávek Banko 36398097bf
Repair damaged UTF-8 characters in TS files
Arabic translations taken from arabeyes-i18n

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Michele Calgaro c485764cd4
Replaced _BSD_SOURCE, _SVID_SOURCE, _GNU_SOURCE with _DEFAULT_SOURCE.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Michele Calgaro 230ed5e400
Always build with a clean namespace
QT_CLEAN_NAMESPACE constant is no more needed

This may theoretically affect applications created for Qt1 and Qt2,
but such applications require further modifications as well.

---------------------------

Cherry picked and adapted from commit ff63338d in tqt3 from Slávek Banko <slavek.banko@axis.cz>
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Michele Calgaro 2df70f03d4 Revert "QT_THREAD_SUPPORT -> TQT_THREAD_SUPPORT conversion to align to updated admin module"
The original commit was a mistake and should not have been pushed.

This reverts commit f849f22528.
7 years ago
Michele Calgaro f849f22528
QT_THREAD_SUPPORT -> TQT_THREAD_SUPPORT conversion to align to updated admin module
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Michele Calgaro 2848b517a6
Removed unnecessary executable flag. This relates to bug 2153.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
7 years ago
Slávek Banko 5431226296
Fix FTBFS with stricter C++11
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Slávek Banko 54809cd81b Fix security issue CVE-2016-10040
[taken from RedHat Qt3 patches]

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Slávek Banko f3c643afc1 Backport mysql driver mariadb fix - see QTBUG-63108
[taken from RedHat Qt3 patches]

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Slávek Banko b5078576ff Add mkspecs for build with Clang
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Slávek Banko 58b25d4341 Update buildkey for GCC 7 and 8
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
7 years ago
Roman Savochenko 02405c8411 Add brightness keys support
The code partially taken from Qt4
This relates to bug 2775

Signed-off-by: Roman Savochenko <rom_as@oscada.org>
8 years ago
Slávek Banko 3a5672aab4 Update buildkey for GCC 7
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
8 years ago
Slávek Banko d96172f76d ListView: Deselect items that are hidden by the filter
during selectAll and invertSelection

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
8 years ago
Slávek Banko 057d9fe7a4 IconView: Deselect items that are hidden by the filter
during selectAll and invertSelection
This resolves bug 2750

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
8 years ago
Slávek Banko e70f5ecf76 Do not force POSIX mutexes on FreeBSD
This relates to bug 2462
See comments on bug 2744

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
8 years ago
Timothy Pearson 967e0f8020 Automated update from TQt3 9 years ago
Timothy Pearson 3cb304fd0c Automated update from TQt3 9 years ago
Timothy Pearson 1aabc56ca5 Automated update from TQt3 9 years ago
Slávek Banko b099185b90 Update buildkey for GCC 6
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
9 years ago
Timothy Pearson e834adf078 Fix invalid headers in PNG files and optimize for size 9 years ago
Timothy Pearson 709f7e70b0 Properly implement MySQL reconnect support 9 years ago
Timothy Pearson 9fe256ac6c Properly handle MySQL reconnection option 9 years ago
Michele Calgaro cd6978fd2a Added operator[] convenience function to QPtrList, similarly to QValueList.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
10 years ago
Michele Calgaro d27f4e2fc3 Fixed (again) search algorithm for iconview widget. This resolves (again) bug 420.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
10 years ago
Michele Calgaro dad70b4c52 Added safety harness for currentThreadObject() usage.
currentThreadObject() returns a null pointer if the
    current thread was not started using the QThread API.
    This relates to bug 1748.

Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
10 years ago
Michele Calgaro d6867cf92e Fixed search algorithm for iconview widget. This resolves bug 420.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
10 years ago
Slávek Banko 0d96f74958 Update buildkey for GCC 5
[taken from RedHat Qt3 patches]
10 years ago
Slávek Banko 538d6a2440 Fix security issue CVE-2015-1860
[taken from RedHat Qt3 patches]
10 years ago
Slávek Banko b3037160f2 Fix security issue CVE-2015-0295
[taken from RedHat Qt3 patches]
10 years ago
Slávek Banko ad74a11abf Fix security issue CVE-2014-0190
[taken from RedHat Qt3 patches]
10 years ago
Slávek Banko 73584365f8 Fix security issue CVE-2013-4549
[taken from RedHat Qt3 patches]
10 years ago
Michele Calgaro a0a411065d Moved iconview widget to src/widget folders.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
11 years ago
Timothy Pearson 8b9ae3fbf8 Add vsprintf method to QString 11 years ago
Michele Calgaro 9655b0b845 Fixed Multicolumn view filtering item arrangement. This relates to bug 146.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
11 years ago
Timothy Pearson 9974902237 Try to avoid crashes if the destructor of a TQMap is called when no private object was previously created 11 years ago
Timothy Pearson f6b53fc525 Fix typo in CEF structure definition
This relates to Bug 1489
11 years ago
Timothy Pearson 444ac1fed9 Repaint QComboBox on drop-down dismissal
This relates to Bug 1489
11 years ago
Timothy Pearson b11ba445cc Properly polish QPopupMenu widgets
This relates to Bug 1489
11 years ago
Timothy Pearson b5f543cd3a Bring filenew, fileopen, fileprint, filequickprint, filesave, filesaveas, fileclose, editclear, editcopy, editcut, editdelete, editpaste, folder_new, and gohome icons into XDG compliance 11 years ago
Francois Andriot f0cc3689b3 Add support for the environment variables TQT_HOME_DIR and TQT_SYSTEM_DIR 11 years ago
Timothy Pearson dc8f537180 Fix undefined behaviour in TQClipboardWatcher::format
This relates to Bug 1820
11 years ago
Timothy Pearson 3a40adfa91 Fix inability to clear TQPushButton icons once set
This resolves Bug 1857
11 years ago
Slávek Banko 5b34ad0d8e Improve TQProgressBar repaint optimization 11 years ago
Enrico Ros fbc4cf8e7f Fix unwanted toggling TQIconViewItem focus on click
This fixes the 'flashing' icon when clicking repeatedly on a TQIconView or
derivates (ie TDEIconView, KonqIconViewWidget, the KDesktop and so on..).
The current behavior considers that if not over an icon, the user is
clicking down to perform icons selection (with the rubberband).
This is not always true, since a click might be used to give focus to a
window or unselect some icons.

How this is fixed: when clicking down the mouse a flag is set. If the pointer
is moved on the iconview with the button held down, then (and only at that
moment) the rubber is created. Now a selection operation (the one done with
the rubber) begins when moving the mouse and not only when clicking on the
empty space.
11 years ago
François Andriot e4b05c8f30 Fix dpi detection when using xft2 11 years ago
François Andriot a944830520 Fix crash in TQTranslator 11 years ago
François Andriot fdc4699bcb Enhance warning verbosity in TQFile (unix) 11 years ago
Waldo Bastian 14f96e80a5 Fix zoom in TQTextEdit
TQTextEdit::zoomIn / TQTextEdit::zoomOut does not work if the original
font had its size specified in pixels instead of points.
pointSize() returns 0 in such case.
11 years ago
Benoit Walter 36ee984c64 Remove unnecessary scrollbar in TQIconView
Test case (using konqueror icon view):
- The first icons are being shown (no scrollbar yet)
- When there is no space left, a vertical scrollbar is needed
- The vertical scrollbar may cover the right edge of the icons
(in the last column) => an horizontal scrollbar is needed :-(

Solution:
When using ScrollBarMode::Auto, prevent TQt from drawing icons on the
scrollbar area (before the scrollbar is shown).

Related to KDE bug #69589
11 years ago
Frerich Raabe 9f882f9de7 Add repaint optimization to TQProgressBar
This optimization makes TQProgressBar::setProgress() only repaint itself
if stepping to the new progress would cause a graphical change. This means
that for a width W and a total number of steps S, it will repaint itself
'W' times (every 'S/W' steps) instead of 'S' times (every step) as it is
right now.
11 years ago
Francois Andriot b716176cec Fix qmake shared library naming
Add long long int support to TQTextStream
Fix potential segmentation fault in QValueList
Fix library naming in TQT Plugins
This relates to Bug 2107
11 years ago
François Andriot e175139565 Fix FTBFS on Linux specific memlock code 11 years ago
François Andriot a28cbf4837 Fix FTBFS because invalid data conversion in qmutex 11 years ago
Timothy Pearson 7b43eed24a Add ability to set reconnect flag on MySQL connections
Add database server ping method to SQL classes
11 years ago
Slávek Banko 4de3697383 Fix build option used to select sqlite3 plugin 11 years ago
Michele Calgaro a401ecd325 Fixed warning message if QMetaObjectCleanUp::setMetaObject is invoked twice.
If the passed object is the same, the warning message is not displayed any more.
If the passed object is different, a message is still displayed.
This resolves bug 1947.
11 years ago
Michele Calgaro dbc8742f9e Revert "Fixed warning message if QMetaObjectCleanUp::setMetaObject is invoked twice."
because of wrong reference to bug 1887.
This reverts commit 41f30477dd.
11 years ago
Michele Calgaro 41f30477dd Fixed warning message if QMetaObjectCleanUp::setMetaObject is invoked twice.
If the passed object is the same, the warning message is not displayed any more.
If the passed object is different, a message is still displayed.
This resolves bug 1887.
11 years ago
Timothy Pearson 93b3efa890 Refresh control element data structures before executing style object event handlers
This resolves Bug 1816
Fix FTBFS in style examples
11 years ago
Michele Calgaro 71a6d7870f Improvements to QValueList. This may relate to bug 1820 11 years ago
Michele Calgaro cbeacf0de9 Fixed "TQApplication::postEvent: Unexpected null receiver" warning message. This resolves bug 1901 and 1909. 11 years ago
Slávek Banko d738b733bd Add sqlite3 plugin 11 years ago
Slávek Banko 456dc48a97 Fix potential null pointer dereference 11 years ago
Slávek Banko 3d29992e94 Fix crash on populating style data to tabbar without parent
This resolves Bug 1966
11 years ago
Slávek Banko 1afc62ef88 Fix overwriting memory for an application icon
This resolves Bug 2033
11 years ago
Timothy Pearson b7d35a6235 Fix DnD crash when source is not present
This resolves Bug 1602
11 years ago
Michele Calgaro 5747da54c6 Enabled operator->() for class QValueListIterator. 11 years ago
Slávek Banko 7fface8931 Fix tqteditor hidden visibility needed for cppeditor plugin 12 years ago
Slávek Banko 5347950651 Fix FTBFS due to hidden visibility 12 years ago
Francois Andriot 1e11c1dd06 Build by default as a shared 12 years ago
Timothy Pearson 586f373276 Properly export ucm_instantiate in UCOM libraries
This relates to Bug 1780
12 years ago
Timothy Pearson 9ec64b2c9b Add slow QStyleControlElementData copy constructor for use with python 12 years ago
Timothy Pearson d1b6b7be7d Repair performance regression accidentally introduced with new style API 12 years ago
Timothy Pearson f4193c940c Disable unnecessary thread locking in TQString constructors/destructor
This improves performance at no real cost, as the TQString class is not thread safe elsewhere
12 years ago
Timothy Pearson eced6bf82e Reduce TQString allocation/deallocation load in populateControlElementDataFromWidget
Remove unneeded mutex locks around certain TQString operations
12 years ago
Slávek Banko 1ee1ffbae6 Fix FTBFS with libfreetype6 >= 2.5.x
This resolves Bug 1765
12 years ago
Darrell Anderson 2e7cd6be55 Add end-of-file newlines. 12 years ago
Slávek Banko 3a89e057b7 Add pluginsdir to pkgconfig file 12 years ago
Timothy Pearson 56999a270d Wake up the correct event loop when an event is posted to TQApplication
This relates to Bug 1703
12 years ago
Slávek Banko c0780a876e Revert "Update minor TQt3 tool names to match current TQt3 sources in GIT" 12 years ago
Timothy Pearson ef73e104bd Update minor TQt3 tool names to match current TQt3 sources in GIT 12 years ago
Timothy Pearson 2bec467449 Clean up prior commit 12 years ago
Timothy Pearson 99b03be63d Add threading debug spew when QT_DEBUG is set 12 years ago
Timothy Pearson 9229bed187 Fix memory leak on widget destruction after certain style method accesses
This resolves Bug 1674
12 years ago
Francois Andriot d268efee9d Remove dead symlink under 'mkspecs/default' 12 years ago
Timothy Pearson 8fb62409a1 Fix prior commit 12 years ago
Timothy Pearson 7c0bc39229 Fix crash on exit when application does not use session management
This relates to Bug 1627
12 years ago
Francois Andriot af5bc055c2 Fix FTBFS in qvfb with libpng >= 1.5 12 years ago
Francois Andriot 16f24a61f8 Fix 'format not a string literal' error 12 years ago
Slávek Banko 571716ebf8 Private headers moved out from public include directory 12 years ago
Slávek Banko 4e2d1bdf61 3rdparty headers moved out from public include directory
This resolves Bug 1350
12 years ago
Timothy Pearson 7ecf525f20 Fix a minor valgrind warning 12 years ago
Timothy Pearson 49075fd69d Allow TQApplication objects to be constructed without a session manager
This relates to Bug 760
12 years ago
Timothy Pearson d2ab408c06 Do not return deleted icon view items after icon view deletion
This resolves Bug 1605
12 years ago
Francois Andriot 32bd03533d Fix glib multithreading abort with versions less than 2.24
This resolves Bug 1581
12 years ago
Timothy Pearson c0c848cf2a Update official version number
This resolves Bug 1558
12 years ago
Timothy Pearson f2102e1f82 Fix incorrect thread termination handling when thread count is greater than two
This resolves Bug 1521
Make double free or delete of QString objects more obvious
12 years ago
Timothy Pearson 8ff73908ee Fix crash on thread termination 12 years ago
Timothy Pearson 17ffc1e193 Fix downstream build failures due to missing TQApplication conditions 12 years ago
Timothy Pearson 4eba9b8238 Fix a number of threading data races
Add proper thread termination handler
This partially resolves Bug 1508
12 years ago
Darrell Anderson be8413249b Fix spelling mistakes 12 years ago
Timothy Pearson 2a85fcbb5c Fix ARGB mode stippled focus rectangle showing underlying window contents
Fix TQColor not processing alpha channel in ARGB mode
12 years ago
Timothy Pearson 4e770dc815 Add ability to control cross thread signal slot handling method 12 years ago
Timothy Pearson 8ab0008655 Fix corrupted titlebar icons in subwindows of ARGB applications 12 years ago
Timothy Pearson c69c3400cb Use glib thread initialization functions when glib main loop is in use
This resolves Bug 1484
12 years ago
Timothy Pearson 83d39cad27 Fix a number of threading problems and crashes
This partially resolves Bug 1467
12 years ago
Timothy Pearson 7abfc2a181 Fix fatal X11 errors when both external display and command arguments are provided to QApplication
This resolves Bug 1456
12 years ago
Timothy Pearson e154d27e30 Properly set WM_CLASS atom even if Display pointer was passed to TQApplication
This relates to Bug 1443
12 years ago
Timothy Pearson d09860faff Add unpaged memory mode to TQString and TQLineEdit
Fix designer build warnings
12 years ago
Darrell Anderson ed9739fcff Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Darrell Anderson 902e15edcf Add more information to help debugging 13 years ago
Darrell Anderson 79751823a7 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Slávek Banko d10d2321a3 Fix textbox trails introduced with GIT commit 82b71e49
This resolves Bug 1408
13 years ago
Timothy Pearson 89af6f8007 Restore expected qApp->exit() behaviour when called from a non-GUI thread 13 years ago
Timothy Pearson 82b71e4960 Doublebuffer QIconView to reduce flicker
This closes Bug 1408
13 years ago
Slávek Banko 5015438cc4 Fix unintended rename of LOCKFILE 13 years ago
Timothy Pearson c47f5e14e4 Fix CLI application failure when glib event loop is used 13 years ago
Timothy Pearson 5aa389f311 Fix GTK threading deadlock 13 years ago
Timothy Pearson 5df139de98 Rename KStyle to TDEStyle to avoid conflicts with KDE4 13 years ago
Timothy Pearson 4b9e514d7c Fix prior commit 13 years ago
Timothy Pearson 05d2fcdc92 Fix FTBFS 13 years ago
Timothy Pearson d3e87ed4a0 Rename a few build variables for overall consistency 13 years ago
Darrell Anderson 577ad042c8 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson b85cdabf48 Verify desktop widget screen number before applying size changes
This resolves Bug 1378
13 years ago
Darrell Anderson 35202ed0d8 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson f19aa203c9 Ensure that a valid DPI is always set 13 years ago
Timothy Pearson 72eba91414 Fix X11 fd polling initialization in glib main loop
This resolves Bug 1358
13 years ago
Timothy Pearson a7865cf691 Fix glib event loop threading 13 years ago
Timothy Pearson 9bff9eeefc Add level method to recursive mutex
Enhance thread safety when making event calls
Minor cleanup of whitespace in glib event loop
13 years ago
Timothy Pearson 85b3c5d0ec Maintain binary compatibility when switching between glib event loop and standard event loop 13 years ago
Timothy Pearson caf80d8824 Add threading tutorial and fix a couple rare crashes 13 years ago
Timothy Pearson 78125ea2f0 Add real threading support, including per-thread event loops, to QThread 13 years ago
Timothy Pearson 7aa5ac7f0e Fix a number of build warnings that could lead to unstable operation
This breaks the ABI
13 years ago
Darrell Anderson 8d5add0e87 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson bb07131a91 Add ability to enable/disable glib event pass through
This resolves problems experienced with TDE GTK theme engines when Qt3 glib event loop integration is enabled
13 years ago
Timothy Pearson 2da4cbfb2f Add QEventLoop glib header link 13 years ago
Darrell Anderson 2211b1bf66 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson de67a2b84b Add glib main loop support patches 13 years ago
Darrell Anderson 20ccd4b81e Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson b5d6591054 Add flush command to external painter command set 13 years ago
Timothy Pearson 13a971ccd9 Export QAssistantClient library symbols 13 years ago
Darrell Anderson c4fcfaa593 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 5e04c37a6c Increase style method call speed
This breaks the style ABI
13 years ago
Timothy Pearson 30c5994817 Speed up application loading 13 years ago
Darrell Anderson 6bcbe0a787 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson d1c6722372 Add ability to set progressbar orientation 13 years ago
Timothy Pearson 37a8b8a912 Add additional information to style info structs 13 years ago
Timothy Pearson 380f29a7b4 Extend style information structures slightly 13 years ago
Darrell Anderson f7873ac336 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 180abfff4d Add accessor methods to list view items and popup menus for styling 13 years ago
Timothy Pearson 294ec2ee1f Add parent toolbar information to style info structs 13 years ago
Darrell Anderson 0a232e5b3c Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 289363b959 Add public set methods to QMenuItem 13 years ago
Timothy Pearson a5ced706e9 Add new style hints for enhanced third party style compatibility 13 years ago
Timothy Pearson 69429dcfc3 Add new style primatives for enhanced third party style compatibility 13 years ago
Darrell Anderson 95354d1b51 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 22d1ab9ecc Fix tdebindings FTBFS 13 years ago
Darrell Anderson f175db0cdb Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 4037eb7e84 Add tab corner widget information to style data structures
This breaks the style ABI
13 years ago
Timothy Pearson f209ff4b48 Move hover widget code into the Qt core instead of the styles
This more closely matches other widget toolkits such as GTK
13 years ago
Timothy Pearson 4f8eb0410d Add WAR_SetDefault and friends 13 years ago
Darrell Anderson 41e5b784ee Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 1faf4cf70f Fix focus rectangle drawing on external paint device 13 years ago
Timothy Pearson be8d88eef8 Fix focus rectangle fill when brush is set on call to focus rectangle paint method 13 years ago
Timothy Pearson e43d1ae2d9 Fix FTBFS on Linux from recent UUID enhancement 13 years ago
Timothy Pearson 093bfb8296 Use high quality uuid_generate on Linux instead of PRNG 13 years ago
Darrell Anderson b9cfa4cf5e Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 6c72a84e6e Fix slider draw hang 13 years ago
Darrell Anderson 4cc563da10 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 679d4f0bcd Fix dropped style options 13 years ago
Darrell Anderson 5b20d188ac Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson ec1d9d91d2 Fix FTBFS 13 years ago
Darrell Anderson 2fabf62c2d Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 672a55040f Fix QCompactStyle compilation 13 years ago
Darrell Anderson ac2895edc0 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 403cd53c4e Extend style API further and clean up example themes 13 years ago
Timothy Pearson d24053184c Update example styles to new style API 13 years ago
Darrell Anderson 30aa36ec6c Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 8805afa8c6 Fix problems in prior style API changes 13 years ago
Darrell Anderson a236ea2ad3 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 47132557a4 Remove deprecation attributes from style functions, as they prevent smoke from functioning properly 13 years ago
Timothy Pearson 846bcc1a23 Update usage of deprecated XKeycodeToKeysym function 13 years ago
Timothy Pearson 8dd9123178 Trivial comment cleanup 13 years ago
Timothy Pearson 58451e41d9 Extend TQStyle API further and bump Qt version number 13 years ago
Timothy Pearson 0008bc5bcd Update style API to function without an active widget object 13 years ago
Darrell Anderson 92b8aca467 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson ebcb1d80bf Fix build warnings
Thanks to Bruce Sass for the patch!
13 years ago
Timothy Pearson b129c37241 Use system libpng and libmng by default 13 years ago
Darrell Anderson da067173fd Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 5ab7fce9b2 Make basic integer QDataStream reads resistant to corruption from underlying IO device failure 13 years ago
Darrell Anderson 4253373976 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson e20b434308 Use unixODBC instead of obsolete iODBC
This closes Bug 792
Thanks to 'L0ner' for the patch!
13 years ago
Timothy Pearson 7295893a20 Add 0084 compositing patch from RedHat 13 years ago
Timothy Pearson 3c3de9a5eb Update zh-tw translations 13 years ago
Darrell Anderson b4d259b540 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 4412d295cf Fix qmake library search path on 64 bit systems
This resolves Bug 1016
13 years ago
Darrell Anderson 5718be45f7 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson c6db1b3eb2 Fix Qt input method failure
This resolves Bug 1019
13 years ago
Darrell Anderson 1bcaf7bfac Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 6ff026570d Fix xrandr resize event failing on some systems 13 years ago
Darrell Anderson 3780084acf Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson e056fc84d4 Remove invalid license options from Qt3
Thanks to Laurent Dard for the patch!
13 years ago
Darrell Anderson 1e3d805f97 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 2def3de01d Remove broken symlinks resulting from hash 4e067439
Thanks to Darrell Anderson for noticing the problem!
13 years ago
Darrell Anderson 9179f76e97 Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/qt3 13 years ago
Timothy Pearson 4e06743950 Remove completely obsolete libjpeg directory 13 years ago
Darrell Anderson 2c39fddda7 Fix typos. 13 years ago
Timothy Pearson 1db4f237a7 Fix potential crash when Qt3 is used as part of another application due to multiple calls to XLib threading init function 14 years ago
Timothy Pearson b4eece7cc6 Fix TQPainter::drawWinFocusRect
This patch brings the behaviour on external paint devices in line with the documentation at http://trinitydesktop.org/docs/qt3/qpainter.html#drawWinFocusRect
14 years ago
Timothy Pearson 9a75b154bf Undo prior accidental commit 14 years ago
Timothy Pearson a830bf10b7 Rename additional global TQt functions 14 years ago
Timothy Pearson b0b53cc84f Rename kde-config to tde-config 14 years ago
Timothy Pearson b45fc92d0a Export QSqlRecordShared symbols 14 years ago
Timothy Pearson 0ce5097f68 Export QAuBucket symbols 14 years ago
Serghei Amelian 70ee85a0b2 [qt3/qsplitter.h] fixed bug #854 14 years ago
Timothy Pearson 083d32559d Fix a few more build warnings 14 years ago
Timothy Pearson bad353a20d Fix accidental FTBFS introduced in prior commit 14 years ago
Timothy Pearson 0a2ae6ad0e Fix FTBFS if yacc regenerates the moc 14 years ago
Timothy Pearson e90b15c55d Clean up a few build warnings 14 years ago
Timothy Pearson d51c5c4d31 Add NFlags parameter to QWidget constructor
This relies on GIT hash 0eb9f5e2 and breaks the ABI versus Qt 3.3.8
14 years ago
Timothy Pearson 783aa27bae Fix first icon view item display 14 years ago
Timothy Pearson 660a32cfcf Add full hidden item support to QIconView
This will enable TDE to efficiently filter icon views via Konqueror
14 years ago
Timothy Pearson 0eb9f5e217 Add NetWM/Motif controls to QWidget
This must break binary compatibility, so version was also bumped to 3.4.0
14 years ago
Timothy Pearson 336d563830 Export QAuServer for tdebindings 14 years ago
Timothy Pearson 1f39650292 Initialize X11 threading when Qt threading is enabled
This closes Bug 812
14 years ago
Timothy Pearson c8ceccf367 Fix accidental conversions of binary files from last commit 14 years ago
Timothy Pearson 2d17865c20 Part 1 of 2 of kdm rename 14 years ago
Timothy Pearson ce82c99453 Fix qcstring format warnings
Related to Bug 637
14 years ago
Timothy Pearson 540da17300 Fix popen leak
Related to Bug 637
14 years ago
Timothy Pearson 2cd2aafb30 Add additional documentation from Debian into Qt3 tree
This closes Bug 673
14 years ago
Timothy Pearson 5e47b11f23 Enable gcc visibility support in Qt3
This partially closes Bug 696
14 years ago
Timothy Pearson e278b85873 Fix Qt3 builds with libpng15
This partially closes Bug 683
14 years ago
Timothy Pearson bb0845dd6d Fix qimage header warnings 14 years ago
Timothy Pearson 8c6fc1f8e3 Fix accidental conversion of dockwin (part 2 of 2) 14 years ago
Timothy Pearson ba18a0dd03 Fix accidental conversion of dockwin 14 years ago
Timothy Pearson f999929543 Rename kwin to twin (Part 2 of 2) 14 years ago
Timothy Pearson 04fcdc0803 Rename kwin to twin (part 1 of 2) 14 years ago

@ -1,259 +0,0 @@
#!/usr/bin/perl -w
#
# in sh/bash/zsh:
# make 2>&1 | .../qt/bin/qt20fix
# in csh/tcsh
# make |& .../qt/bin/qt20fix
#
# repeat as long as qt20fix says to. if your make supports the -k
# flag, that speeds up the process a bit.
#
# qt20fix tends to fix a bit over half of the remaining problems in
# each run.
#
# if you don't use gcc, you will need to change parseline.
#
# this function must accept one line, which is presumed to be an error
# message, and return an array of three strings: the file name, the
# line number and the variable that is undefined.
#
# it may also return an empty list, if the line isn't an error message.
#
# the function is called on each line in turn and only once on each
# line, so it's possible to save state.
#
sub parseline{
my( $line ) = @_;
chomp $line;
if ( $line =~ m%^([-a-zA-Z0-9_\./]+\.[a-zA-Z]+):(\d+):\s*\`(.+)\' undeclared% ) {
@r = ($1,$2,$3);
$r[0] = $currentdir . $r[0] if ( defined($currentdir) &&
$r[0] =~ m%^[^/]% );
return @r;
} elsif ( $line =~ m%^([-a-zA-Z0-9_\./]+\.[a-zA-Z]+):(\d+):\s*\`(.+)\' was not declared% ) {
@r = ($1,$2,$3);
$r[0] = $currentdir . $r[0] if ( defined($currentdir) &&
$r[0] =~ m%^[^/]% );
return @r;
} elsif ( $line =~ m%^g?make\[(\d+)\]: Entering directory \`(.*)\'% ) {
# make[1]: Entering directory `/home/agulbra/2x/src/ui'
my( $l, $c ) = ( $1, $2 );
$c =~ s-/?$-/-;
$dirs[$l] = $c;
$currentdir = $c;
print "$line\n";
} elsif ( $line =~ m%make\[(\d+)\]: Leaving directory \`.*\'$% ) {
# make[1]: Leaving directory `/home/agulbra/2x/src/ui'
$currentdir = defined( $dirs[$1 - 1] ) ? $dirs[$1 - 1] : "";
print "$line\n";
} elsif ( $line =~ m%^\S+:(?:\d+:)?\s+\S% ) {
# other compiler message - skip it
} else {
print "$line\n";
}
return ();
}
#
# this is the big array of globals and their replacements. add stuff
# at will.
#
%globals =
(
"Event_None" => "QEvent::None",
"Event_Timer" => "QEvent::Timer",
"Event_MouseButtonPress" => "QEvent::MouseButtonPress",
"Event_MouseButtonRelease" => "QEvent::MouseButtonRelease",
"Event_MouseButtonDblClick" => "QEvent::MouseButtonDblClick",
"Event_MouseMove" => "QEvent::MouseMove",
"Event_KeyPress" => "QEvent::KeyPress",
"Event_KeyRelease" => "QEvent::KeyRelease",
"Event_FocusIn" => "QEvent::FocusIn",
"Event_FocusOut" => "QEvent::FocusOut",
"Event_Enter" => "QEvent::Enter",
"Event_Leave" => "QEvent::Leave",
"Event_Paint" => "QEvent::Paint",
"Event_Move" => "QEvent::Move",
"Event_Resize" => "QEvent::Resize",
"Event_Create" => "QEvent::Create",
"Event_Destroy" => "QEvent::Destroy",
"Event_Show" => "QEvent::Show",
"Event_Hide" => "QEvent::Hide",
"Event_Close" => "QEvent::Close",
"Event_Quit" => "QEvent::Quit",
"Event_Accel" => "QEvent::Accel",
"Event_Clipboard" => "QEvent::Clipboard",
"Event_SockAct" => "QEvent::SockAct",
"Event_DragEnter" => "QEvent::DragEnter",
"Event_DragMove" => "QEvent::DragMove",
"Event_DragLeave" => "QEvent::DragLeave",
"Event_Drop" => "QEvent::Drop",
"Event_DragResponse" => "QEvent::DragResponse",
"Event_ChildInserted" => "QEvent::ChildInserted",
"Event_ChildRemoved" => "QEvent::ChildRemoved",
"Event_LayoutHint" => "QEvent::LayoutHint",
"Event_User" => "QEvent::User",
"color0" => "Qt::color0",
"color1" => "Qt::color1",
"black" => "Qt::black",
"white" => "Qt::white",
"darkGray" => "Qt::darkGray",
"gray" => "Qt::gray",
"lightGray" => "Qt::lightGray",
"red" => "Qt::red",
"green" => "Qt::green",
"blue" => "Qt::blue",
"cyan" => "Qt::cyan",
"magenta" => "Qt::magenta",
"yellow" => "Qt::yellow",
"darkRed" => "Qt::darkRed",
"darkGreen" => "Qt::darkGreen",
"darkBlue" => "Qt::darkBlue",
"darkCyan" => "Qt::darkCyan",
"darkMagenta" => "Qt::darkMagenta",
"darkYellow" => "Qt::darkYellow",
"AlignLeft" => "Qt::AlignLeft",
"AlignRight" => "Qt::AlignRight",
"AlignHCenter" => "Qt::AlignHCenter",
"AlignTop" => "Qt::AlignTop",
"AlignBottom" => "Qt::AlignBottom",
"AlignVCenter" => "Qt::AlignVCenter",
"AlignCenter" => "Qt::AlignCenter",
"SingleLine" => "Qt::SingleLine",
"DontClip" => "Qt::DontClip",
"ExpandTabs" => "Qt::ExpandTabs",
"ShowPrefix" => "Qt::ShowPrefix",
"WordBreak" => "Qt::WordBreak",
"DontPrint" => "Qt::DontPrint",
"TransparentMode" => "Qt::TransparentMode",
"OpaqueMode" => "Qt::OpaqueMode",
"PixelUnit" => "Qt::PixelUnit",
"LoMetricUnit" => "Qt::LoMetricUnit",
"HiMetricUnit" => "Qt::HiMetricUnit",
"LoEnglishUnit" => "Qt::LoEnglishUnit",
"HiEnglishUnit" => "Qt::HiEnglishUnit",
"TwipsUnit" => "Qt::TwipsUnit",
"WindowsStyle" => "Qt::WindowsStyle",
"MotifStyle" => "Qt::MotifStyle",
"Horizontal" => "Qt::Horizontal",
"Vertical" => "Qt::Vertical",
"PenStyle" => "Qt::PenStyle",
"NoPen" => "Qt::NoPen",
"SolidLine" => "Qt::SolidLine",
"DashLine" => "Qt::DashLine",
"DotLine" => "Qt::DotLine",
"DashDotLine" => "Qt::DashDotLine",
"DashDotDotLine" => "Qt::DashDotDotLine",
"BrushStyle" => "Qt::BrushStyle",
"NoBrush" => "Qt::NoBrush",
"SolidPattern" => "Qt::SolidPattern",
"Dense1Pattern" => "Qt::Dense1Pattern",
"Dense2Pattern" => "Qt::Dense2Pattern",
"Dense3Pattern" => "Qt::Dense3Pattern",
"Dense4Pattern" => "Qt::Dense4Pattern",
"Dense5Pattern" => "Qt::Dense5Pattern",
"Dense6Pattern" => "Qt::Dense6Pattern",
"Dense7Pattern" => "Qt::Dense7Pattern",
"HorPattern" => "Qt::HorPattern",
"VerPattern" => "Qt::VerPattern",
"CrossPattern" => "Qt::CrossPattern",
"BDiagPattern" => "Qt::BDiagPattern",
"FDiagPattern" => "Qt::FDiagPattern",
"DiagCrossPattern" => "Qt::DiagCrossPattern",
"CustomPattern" => "Qt::CustomPattern",
"arrowCursor" => "Qt::arrowCursor",
"upArrowCursor" => "Qt::upArrowCursor",
"crossCursor" => "Qt::crossCursor",
"waitCursor" => "Qt::waitCursor",
"ibeamCursor" => "Qt::ibeamCursor",
"sizeVerCursor" => "Qt::sizeVerCursor",
"sizeHorCursor" => "Qt::sizeHorCursor",
"sizeBDiagCursor" => "Qt::sizeBDiagCursor",
"sizeFDiagCursor" => "Qt::sizeFDiagCursor",
"sizeAllCursor" => "Qt::sizeAllCursor",
"blankCursor" => "Qt::blankCursor",
"splitVCursor" => "Qt::splitVCursor",
"splitHCursor" => "Qt::splitHCursor",
"pointingHandCursor" => "Qt::pointingHandCursor"
);
if ( defined( $ENV{"QTDIR"} ) &&
open( I, "< ". $ENV{"QTDIR"} . "/src/kernel/q1xcompatibility.h" ) ) {
while( <I> ) {
if ( /\#define\s+([a-zA-Z0-9_]+)\s+(\S+)/ ) {
if ( !defined( $globals{$1} ) ) {
$globals{$1} = $2;
} elsif ( $globals{$1} ne $2 ) {
#print "conflict: $1 is mapped to $2 and $globals{$1}\n";
}
}
}
close I;
}
#
# do the do
#
while( <STDIN> ) {
@r = parseline($_);
next unless @r;
($file, $line, $variable) = @r;
if ( defined( $variable ) && defined($globals{$variable}) ) {
if ( !defined($lastfile) || ($file ne $lastfile) ) {
$lastfile = undef if ( !$changes );
if ( defined( $lastfile ) ) {
open( O, "> $lastfile" ) ||
die "cannot write to $lastfile, stopped";
print "qt20fix: writing $lastfile (changes: $changes)\n";
print O @currentfile;
close O;
}
open( I, "< $file" ) || die "cannot read $file, stopped";
@currentfile = <I>;
close I;
$lastfile = $file;
$changes = 0;
}
next unless ( defined( $currentfile[$line-1] ) );
next unless ( $currentfile[$line-1] =~ /\b$variable\b/ );
if ( $currentfile[$line-1] =~ s/([^a-zA-Z0-9])::$variable\b/$1$globals{$variable}/ ||
$currentfile[$line-1] =~ s/([^a-zA-Z0-9:])$variable\b/$1$globals{$variable}/ ) {
print "$file:$line:replaced \`$variable\' with \`$globals{$variable}\'\n";
$changes++;
$totalchanges++
}
} elsif ( defined( $variable ) ) {
print "$file:$line: unknown undefined variable $variable\n";
}
}
if ( defined( $changes) && $changes > 0 && defined( $lastfile ) ) {
open( O, "> $lastfile" ) ||
die "cannot write to $lastfile, stopped";
print "qt20fix: writing $lastfile (changes: $changes)\n";
print O @currentfile;
close O;
}
if ( defined( $totalchanges) && $totalchanges > 0 ) {
print "qt20fix: total changes: $totalchanges\nqt20fix: rerun recommended\n";
}

@ -116,7 +116,5 @@ s/\bqobjdefs\./qobjectdefs./g if /#include/;
s/\bQOBJDEFS_H\b/QOBJECTDEFS_H/g if /#if/;
s/\bqpaintd\./qpaintdevice./g if /#include/;
s/\bQPAINTD_H\b/QPAINTDEVICE_H/g if /#if/;
s/\bqpaintdc\./qpaintdevicedefs./g if /#include/;
s/\bQPAINTDC_H\b/QPAINTDEVICEDEFS_H/g if /#if/;
s/\bqwindefs\./qwindowdefs./g if /#include/;
s/\bQWINDEFS_H\b/QWINDOWDEFS_H/g if /#if/;

@ -0,0 +1,13 @@
Qt 3.4 is a new feature release. It is not backwards compatible with any
prior Qt3 version due to changes in the QWidget definition.
****************************************************************************
* General *
****************************************************************************
General Improvements
--------------------
- Technical
* Add QWidget NetWM control flags

@ -0,0 +1,48 @@
Qt 3.5 is a new feature release. It is not backwards compatible with any
prior Qt3 version due to changes in the QStyle API.
****************************************************************************
* General *
****************************************************************************
General Improvements
--------------------
- Technical
* Modify TQStyle API to work without requiring direct access to Qt-specific objects
See "TQStyle API Change" section below
TQStyle API Change
---------------------
The following style function definitions have changed:
drawPrimitive
drawControl
drawControlMask
subRect
drawComplexControl
drawComplexControlMask
querySubControlMetrics
querySubControl
pixelMetric
sizeFromContents
styleHint
stylePixmap
visualRect
drawTDEStylePrimitive
polish
unPolish
The following new functions have been added:
applicationPolish
applicationUnPolish
installObjectEventHandler
removeObjectEventHandler
objectEventHandler
widgetActionRequest
Additionally, SH_UnderlineAccelerator has been extended with a new style hint, SH_HideUnderlineAcceleratorWhenAltUp
Porting an existing style to the new API is relatively straightforward; simply update the function definitions in the existing style with the new definition prototypes and cast the passed pointer to TQWidget or TQObject where appropriate.

@ -45,7 +45,7 @@ else
done
if [ -z "$F" ]; then
CUPS=no
[ "VERBOSE" = "yes" ] && echo " Could not find CUPS lib anywhere in $LIBDIRS"
[ "$VERBOSE" = "yes" ] && echo " Could not find CUPS lib anywhere in $LIBDIRS"
fi
done
fi

@ -50,7 +50,7 @@ else
done
if [ -z "$F" ]; then
NIS=no
[ "VERBOSE" = "yes" ] && echo " Could not find NIS lib anywhere in $LIBDIRS"
[ "$VERBOSE" = "yes" ] && echo " Could not find NIS lib anywhere in $LIBDIRS"
fi
done
fi

@ -116,12 +116,15 @@ fi
# check for freetype2 headers
FREETYPE2_INCDIR=
if [ "$XFT" = "yes" ]; then
INC="freetype2/freetype/freetype.h"
XDIRS=`sed -n -e '/^QMAKE_INCDIR_X11[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG`
LDIRS=`sed -n -e '/^QMAKE_INCDIR[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG`
INCDIRS="$IN_INCDIRS $XDIRS $LDIRS /usr/include /include"
F=
for INCDIR in $INCDIRS; do
INC="freetype2/freetype/freetype.h" # libfreetype <= 2.4.9-1.1
if ! [ -f $INCDIR/$INC ]; then
INC="freetype2/freetype.h" # libfreetype >= 2.5.1-1
fi
if [ -f $INCDIR/$INC ]; then
# detect major version of freetype2
FREETYPE_MAJOR=`grep "#define FREETYPE_MAJOR" $INCDIR/$INC | head -n 1 | awk '{ print \$3 }'`

@ -39,7 +39,7 @@ for LIBDIR in $LIBDIRS; do
done
if [ -z "$F" ]; then
XINPUT=no
[ "VERBOSE" = "yes" ] && echo " Could not find XInput lib anywhere in $LIBDIRS"
[ "$VERBOSE" = "yes" ] && echo " Could not find XInput lib anywhere in $LIBDIRS"
fi
# check for XInput.h and the IRIX wacom.h

@ -43,28 +43,28 @@ if [ -z "$F" ]; then
fi
# check for Xrandr.h and randr.h
XRANDR_H=
RANDR_H=
if [ "$XRANDR" = "yes" ]; then
INC="X11/extensions/Xrandr.h"
INC2="X11/extensions/randr.h"
INCS="X11/extensions/Xrandr.h X11/extensions/randr.h"
XDIRS=`sed -n -e '/^QMAKE_INCDIR_X11[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG`
INCDIRS="$IN_INCDIRS $XDIRS /usr/include /include"
F=
for INCDIR in $INCDIRS; do
if [ -f $INCDIR/$INC -a -f $INCDIR/$INC2 ]; then
F=yes
XRANDR_H=$INCDIR/$INC
RANDR_H=$INCDIR/$INC2
[ "$VERBOSE" = "yes" ] && echo " Found $INC in $INCDIR"
break
for INC in $INCS; do
F=
for INCDIR in $INCDIRS; do
if [ -f $INCDIR/$INC ]; then
F=yes
[ "$INC" = "X11/extensions/randr.h" ] && RANDR_H=$INCDIR/$INC
[ "$VERBOSE" = "yes" ] && echo " Found $INC in $INCDIR"
break
fi
done
if [ -z "$F" ]
then
XRANDR=no
[ "$VERBOSE" = "yes" ] && echo " Could not find $INC anywhere in $INCDIRS"
break;
fi
done
if [ -z "$F" ]
then
XRANDR=no
[ "$VERBOSE" = "yes" ] && echo " Could not find $INC anywhere in $INCDIRS"
fi
fi
# verify that we are using XRandR 1.x >= 1.1

480
configure vendored

@ -70,161 +70,17 @@ fi
#-------------------------------------------------------------------------------
# check commercial license
# Free license only: no check for other licenses
#-------------------------------------------------------------------------------
# Qtopia Edition.
if [ -f $relpath/LICENSE.Qtopia ]; then
Edition="qtopia"
Licensee="Qtopia"
Products="qt-enterprise"
# Open Source Edition - may only be used under the terms of the QPL or GPL.
# Qt/X11, Qt/Embedded
elif [ -f $relpath/LICENSE.QPL -o -f $relpath/LICENSE.GPL2 -o -f $relpath/LICENSE.GPL3 ]; then
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes
Edition="free"
Licensee="Free"
Products="qt-free"
# Evaluation version.
# Qt/X11, Qt/Embedded, Qt/Mac
elif [ -f $relpath/LICENSE.EVAL ]; then
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes
Edition="eval"
Licensee="Evaluation"
Products="qt-eval"
# Internal Trolltech edition.
# Qt/X11, Qt/Embedded, Qt/Mac, Qt/QNX
elif [ -f $relpath/LICENSE.TROLL ]; then
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
[ "$PLATFORM_QNX" = "maybe" ] && PLATFORM_QNX=yes
Edition="troll"
Licensee="Trolltech"
Products="qt-internal"
# Commercial edition - needs a license.
# Qt/X11, Qt/Embedded, Qt/Mac
elif [ -f $relpath/.LICENSE ]; then
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes
echo
Desc=""
if [ -f $HOME/.qt-license ]; then
. $HOME/.qt-license >/dev/null 2>&1
if [ -z "$LicenseKey" ]; then
echo
echo "You are using an old license file."
echo
echo "Please install the license file supplied by Trolltech,"
echo "or install the Qt Open Source Edition if you intend to develop"
echo "open source software."
exit 1
fi
else
if [ -z "$LicenseKey" ]; then
echo
if echo '\c' | grep '\c' >/dev/null; then
echo -n "Please enter your license key: "
else
echo "Please enter your license key: \c"
fi
read LicenseKey
fi
fi
if echo $LicenseKey | grep "....-....-...." >/dev/null 2>&1; then
# get the first character of the key
keyTest=`echo $LicenseKey | cut -b1`
# this character should fit the platform
if [ "$PLATFORM_QWS" = "yes" ]; then
case $keyTest in
A|B|C|D|E|F|G|H|a|b|c|d|e|f|g|h)
# Qt/Embedded
echo
;;
*)
echo
echo "You are not licensed for the Qt/Embedded platform."
echo
echo "Please contact sales@trolltech.com to upgrade your license"
echo "to include the Qt/Embedded platform, or install the"
echo "Qt Open Source Edition if you intend to develop open source"
echo "software."
exit 1
;;
esac
elif [ "$PLATFORM_MAC" = "yes" ]; then
case $keyTest in
*) ###
# Qt/Mac
echo
;;
*)
echo
echo "You are not licensed for the Qt/Mac platform."
echo
echo "Please contact sales@trolltech.com to upgrade your license"
echo "to include the Qt/Mac platform."
exit 1
;;
esac
else
case $keyTest in
6|7|8|9|E|F|G|H|e|f|g|h)
# Qt/X11
echo
;;
*)
echo
echo "You are not licensed for the Qt/X11 platform."
echo
echo "Please contact sales@trolltech.com to upgrade your license to"
echo "include the Qt/X11 platform, or install the Qt Open Source Edition"
echo "if you intend to develop open source software."
exit 1
;;
esac
fi
case $keyTest in
4|5|8|9|C|D|G|H|c|d|g|h)
# Enterprise
Products=qt-enterprise
Desc="Enterprise"
Edition="ent"
;;
*)
# Professional
Products=qt-professional
Desc="Professional"
Edition="pro"
;;
esac
case $keyTest in
3|5|7|9|B|D|F|H|b|d|f|h)
# US
cp -f $relpath/.LICENSE-US $relpath/LICENSE
;;
*)
cp -f $relpath/.LICENSE $relpath/LICENSE
;;
esac
else
echo
echo "Invalid license key. Please check the license key."
exit 1
fi
else
echo "The LICENSE, LICENSE.QPL, or LICENSE.GPL2 file shipped with"
echo "this software has disappeared."
echo
echo "Sorry, you are not licensed to use this software."
echo "Try re-installing."
echo
exit 1
fi
# licensed modules depend on type of commercial license
MODULES="styles tools kernel widgets dialogs iconview workspace inputmethod"
[ "$PLATFORM_QWS" = "yes" ] && [ "$Products" = "qt-professional" ] && MODULES="$MODULES network"
[ "$Products" != "qt-professional" ] && MODULES="$MODULES network canvas table xml opengl sql"
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=yes
Edition="free"
Licensee="Free"
Products="qt-free"
# modules depending on free license
MODULES="styles tools kernel widgets dialogs iconview workspace inputmethod \
network canvas table xml opengl sql"
CFG_MODULES_AVAILABLE=$MODULES
QMAKE_VARS="$QMAKE_VARS \"QT_PRODUCT=$Products\""
QMAKE_VARS="$QMAKE_VARS \"styles += windows motif mac platinum sgi cde motifplus\""
@ -255,11 +111,11 @@ CFG_XINERAMA=auto
CFG_BIG_CODECS=yes
CFG_ZLIB=yes
CFG_PNG=yes
CFG_LIBPNG=qt
CFG_LIBPNG=system
CFG_JPEG=auto
CFG_LIBJPEG=qt
CFG_LIBJPEG=system
CFG_MNG=auto
CFG_LIBMNG=qt
CFG_LIBMNG=system
CFG_XCURSOR=auto
CFG_XRANDR=auto
CFG_XRENDER=auto
@ -287,6 +143,8 @@ CFG_USER_BUILD_KEY=
CFG_ACCESSIBILITY=auto
CFG_DLOPEN_OPENGL=no
CFG_ENDIAN=auto
CFG_GLIBMAINLOOP=no
CFG_LIBGLIBMAINLOOP=
D_FLAGS=
I_FLAGS=
L_FLAGS=
@ -313,7 +171,7 @@ QT_INSTALL_PLUGINS=
QT_INSTALL_DATA=
QT_INSTALL_TRANSLATIONS=
QT_INSTALL_SYSCONF=
QT_INSTALL_SHARE=
#-------------------------------------------------------------------------------
# check SQL drivers and styles available in this package
@ -368,7 +226,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
-incremental|-qvfb|-profile|-shared|-static|-sm|-thread|-xinerama|-xshape|-tablet|-pch|-stl|-ipv6|-freetype|-big-codecs|-xcursor|-xrandr|-xrender|-xft|-xkb|-nis|-cups|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-version-script|-dlopen-opengl)
-incremental|-qvfb|-profile|-shared|-static|-sm|-thread|-xinerama|-xshape|-tablet|-pch|-stl|-ipv6|-freetype|-big-codecs|-xcursor|-xrandr|-xrender|-xft|-xkb|-nis|-cups|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-version-script|-dlopen-opengl|-glibmainloop)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@ -383,7 +241,7 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_ARG=yes
fi
;;
-prefix|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey)
-prefix|-sysshare|-docdir|-headerdir|-plugindir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL=$1
@ -513,6 +371,9 @@ while [ "$#" -gt 0 ]; do
sysconfdir)
QT_INSTALL_SYSCONF="$VAL"
;;
sysshare)
QT_INSTALL_SHARE="$VAL"
;;
qconfig)
CFG_QCONFIG="$VAL"
;;
@ -873,6 +734,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
glibmainloop)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_GLIBMAINLOOP="$VAL"
else
UNKNOWN_OPT=yes
fi
;;
nis)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_NIS="$VAL"
@ -1075,11 +943,14 @@ done
[ -z "$QT_INSTALL_TRANSLATIONS" ] && QT_INSTALL_TRANSLATIONS=$QT_INSTALL_PREFIX/translations
# default PREFIX/etc/settings
[ -z "$QT_INSTALL_SYSCONF" ] && QT_INSTALL_SYSCONF=$QT_INSTALL_PREFIX/etc/settings
# default PREFIX/share
[ -z "$QT_INSTALL_SHARE" ] && QT_INSTALL_SHARE=$QT_INSTALL_PREFIX/share
# generate qconfig.cpp
[ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools
cat > $outpath/src/tools/qconfig.cpp.new <<EOF
/* Install paths from configure */
#include "qglobal.h"
static const char QT_INSTALL_PREFIX [267] = "qt_nstpath=$QT_INSTALL_PREFIX";
static const char QT_INSTALL_BINS [267] = "qt_binpath=$QT_INSTALL_BINS";
@ -1090,6 +961,7 @@ static const char QT_INSTALL_PLUGINS [267] = "qt_plgpath=$QT_INSTALL_PLUGINS
static const char QT_INSTALL_DATA [267] = "qt_datpath=$QT_INSTALL_DATA";
static const char QT_INSTALL_TRANSLATIONS[267] = "qt_trnpath=$QT_INSTALL_TRANSLATIONS";
static const char QT_INSTALL_SYSCONF [267] = "qt_cnfpath=$QT_INSTALL_SYSCONF";
static const char QT_INSTALL_SHARE [267] = "qt_shapath=$QT_INSTALL_SHARE";
/* strlen( "qt_xxxpath=" ) == 11 */
const char *qInstallPath() { return QT_INSTALL_PREFIX + 11; }
@ -1101,6 +973,7 @@ const char *qInstallPathPlugins() { return QT_INSTALL_PLUGINS + 11; }
const char *qInstallPathData() { return QT_INSTALL_DATA + 11; }
const char *qInstallPathTranslations() { return QT_INSTALL_TRANSLATIONS + 11; }
const char *qInstallPathSysconf() { return QT_INSTALL_SYSCONF + 11; }
const char *qInstallPathShare() { return QT_INSTALL_SHARE + 11; }
EOF
# avoid unecessary rebuilds by copying only if qconfig.cpp has changed
@ -1985,10 +1858,10 @@ if [ "$OPT_HELP" = "yes" ]; then
cat <<EOF
Usage: $relconf [-prefix dir] [-buildkey key] [-docdir dir] [-headerdir dir]
[-libdir dir] [-bindir dir] [-plugindir dir ] [-datadir dir]
[-libdir dir] [-bindir dir] [-plugindir dir ] [-datadir dir] [-sysshare dir]
[-translationdir dir] [-sysconfdir dir] [-debug] [-release]
[-no-gif] [-qt-gif] [-no-sm] [-sm] [-qt-zlib] [-system-zlib]
[-qt-libjpeg] [-system-libjpeg] [-qt-libpng] [-system-libpng]
[-qt-libpng] [-system-libpng]
[-qt-libmng] [-system-libmng] [-no-thread] [-thread] [-no-nis] [-nis]
[-no-cups] [-cups] [-no-largefile] [-largefile] [-version-script]
[-no-stl] [-stl] [-no-ipv6 ] [-ipv6] [-Istring] [-lstring]
@ -2020,6 +1893,8 @@ Installation options:
(default PREFIX/translations)
-sysconfdir dir ... Settings used by Qt programs will be looked for in dir
(default PREFIX/etc/settings)
-sysshare dir ..... System shared data will be installed in dir
(default PREFIX/share)
You may use these options to turn on strict plugin loading.
@ -2142,16 +2017,12 @@ Image Formats:
Third Party Image Loading Libraries:
* -qt-libpng ......... Use the libpng bundled with Qt.
-system-libpng ..... Use libpng from the operating system.
-qt-libpng ......... Use the libpng bundled with Qt.
* -system-libpng ..... Use libpng from the operating system.
See http://www.libpng.org/pub/png
* -qt-libjpeg ........ Use the libjpeg bundled with Qt.
-system-libjpeg .... Use jpeglib from the operating system.
See http://www.ijg.org
* -qt-libmng ......... Use the libmng bundled with Qt.
-system-libmng ..... Use libmng from the operating system.
-qt-libmng ......... Use the libmng bundled with Qt.
* -system-libmng ..... Use libmng from the operating system.
See http://www.libmng.com
EOF
@ -2358,234 +2229,25 @@ fi
# -----------------------------------------------------------------------------
# LICENSING, INTERACTIVE PART
# LICENSING
# -----------------------------------------------------------------------------
# check for license confirmation
if [ "$Edition" = "qtopia" ]; then
if [ "$PLATFORM_X11" = "yes" ]; then
Platform="Qt/X11"
else
echo
echo "Internal error: unknown platform."
echo
exit 2
fi
TheLicense=`head -n 1 $relpath/LICENSE.Qtopia`
while true; do
echo
echo "This is the $Platform Qtopia Edition."
echo
echo "You are licensed to use this software under the terms of"
echo "the $TheLicense."
echo
echo "Type '?' to view the $TheLicense."
echo "Type 'yes' to accept this license offer."
echo "Type 'no' to decline this license offer."
echo
if echo '\c' | grep '\c' >/dev/null; then
echo -n "Do you accept the terms of the $TheLicense? "
else
echo "Do you accept the terms of the $TheLicense? \c"
fi
read acceptance
echo
if [ "$acceptance" = yes ]; then
break
else
if [ "$acceptance" = no ]; then
echo "You are not licensed to use this software."
echo
exit 0
elif [ "$acceptance" = "?" ]; then
more $relpath/LICENSE.Qtopia
fi
fi
done
elif [ "$Edition" = "free" ]; then
while true; do
if [ "$PLATFORM_QWS" = "yes" ]; then
echo
echo "This is the Qt/Embedded Open Source Edition."
echo
echo "You are licensed to use this software under the terms of"
echo "the GNU General Public License (GPL) versions 2 or 3."
echo
affix="the"
elif [ "$PLATFORM_MAC" = "yes" ]; then
echo
echo "This is the Qt/Mac Open Source Edition."
echo
echo "You are licensed to use this software under the terms of"
echo "the GNU General Public License (GPL) versions 2 or 3."
echo
affix="the"
elif [ "$PLATFORM_X11" = "yes" ]; then
echo
echo "This is the Qt/X11 Open Source Edition."
echo
echo "You are licensed to use this software under the terms of either"
echo "the Q Public License (QPL) or the GNU General Public License (GPL)"
echo "versions 2 or 3."
echo
echo "Type 'Q' to view the Q Public License."
affix="either"
else
echo
echo "Internal error."
echo
exit 2
fi
echo "Type '2' to view the GNU General Public License version 2."
echo "Type '3' to view the GNU General Public License version 3."
echo "Type 'yes' to accept this license offer."
echo "Type 'no' to decline this license offer."
echo
if echo '\c' | grep '\c' >/dev/null; then
echo -n "Do you accept the terms of $affix license? "
else
echo "Do you accept the terms of $affix license? \c"
fi
read acceptance
echo
if [ "$acceptance" = "yes" ]; then
break
elif [ "$acceptance" = "no" ]; then
echo "You are not licensed to use this software."
echo
exit 0
elif [ "$acceptance" = "2" ]; then
more $relpath/LICENSE.GPL2
elif [ "$acceptance" = "3" ]; then
more $relpath/LICENSE.GPL3
elif [ "$acceptance" = "Q" -o "$acceptance" = "q" ]; then
if [ "$PLATFORM_QWS" != "yes" ]; then
more $relpath/LICENSE.QPL
fi
fi
done
elif [ "$Edition" = "eval" ]; then
while true; do
if [ "$PLATFORM_QWS" = "yes" ]; then
echo
echo "This is the Qt/Embedded Evaluation version."
echo
elif [ "$PLATFORM_X11" = "yes" ]; then
echo
echo "This is the Qt/X11 Evaluation version."
echo
else
echo >&2
echo "Internal error." >&2
echo >&2
exit 2
fi
echo "You are licensed to use this software under the terms of"
echo "the Qt EVALUATION VERSION LICENSE AGREEMENT"
echo
echo "Type '?' to view the Evaluation License."
echo "Type 'yes' to accept this license offer."
echo "Type 'no' to decline this license offer."
echo
if echo '\c' | grep '\c' >/dev/null; then
echo -n "Do you accept the terms of the license? "
else
echo "Do you accept the terms of the license? \c"
fi
read acceptance
echo
if [ "$acceptance" = "yes" ]; then
break
elif [ "$acceptance" = "no" ] ;then
echo "You are not licensed to use this software."
echo
exit 0
elif [ "$acceptance" = "?" ]; then
more $relpath/LICENSE.EVAL
fi
done
elif [ "$Edition" = "troll" ]; then
if [ "$PLATFORM_QNX" = "yes" ]; then
Platform="Qt/QNX"
elif [ "$PLATFORM_QWS" = "yes" ]; then
Platform="Qt/Embedded"
elif [ "$PLATFORM_MAC" = "yes" ]; then
Platform="Qt/Mac"
elif [ "$PLATFORM_X11" = "yes" ]; then
Platform="Qt/X11"
else
echo
echo "Internal error: unknown platform."
echo
exit 2
fi
echo
echo "This is the Trolltech in-house version of $Platform."
echo
echo
if [ "$PLATFORM_QWS" = "yes" ]; then
echo "This is the Qt/Embedded Open Source Edition."
elif [ "$PLATFORM_MAC" = "yes" ]; then
echo "This is the Qt/Mac Open Source Edition."
elif [ "$PLATFORM_X11" = "yes" ]; then
echo "This is the Qt/X11 Open Source Edition."
else
if [ -f $HOME/.qt-license ]; then
ExpiryDate=`echo $ExpiryDate | sed -e "s,-,,g" | tr -d "\n\r"`
[ -z "$ExpiryDate" ] && ExpiryDate="0"
Today=`date +%Y%m%d`
if [ "$Today" -gt "$ExpiryDate" ]; then
echo
echo "WARNING WARNING WARNING WARNING"
echo
echo " Your support and upgrade period has expired."
echo
echo " You may continue to use your last licensed release"
echo " of Qt under the terms of your existing license"
echo " agreement. But you are not entitled to technical"
echo " support, nor are you entitled to use any more recent"
echo " Qt releases."
echo
echo " Please contact sales@trolltech.com to renew your"
echo " support and upgrades for this license."
echo
echo "WARNING WARNING WARNING WARNING"
echo
sleep 3
fi
fi
if [ "$PLATFORM_QWS" = "yes" ]; then
Platform="Qt/Embedded"
elif [ "$PLATFORM_MAC" = "yes" ]; then
Platform="Qt/Mac"
elif [ "$PLATFORM_X11" = "yes" ]; then
Platform="Qt/X11"
else
echo >&2
echo "Internal error." >&2
echo >&2
exit 2
fi
echo "Internal error: unknown platform."
echo
echo "This is the $Platform $Desc Edition."
echo
while true; do
echo
echo "Type '?' to view the $Platform License."
echo "Type 'yes' to accept this license offer."
echo "Type 'no' to decline this license offer."
echo
if echo '\c' | grep '\c' >/dev/null; then
echo -n "Do you accept the terms of the $Platform License? "
else
echo "Do you accept the terms of the $Platform License? \c"
fi
read acceptance
echo
if [ "$acceptance" = "yes" ]; then
break
elif [ "$acceptance" = "no" ]; then
echo "You are not licensed to use this software."
echo
exit 0
else [ "$acceptance" = "?" ]
more $relpath/LICENSE
fi
done
exit 2
fi
echo
echo "You are licensed to use this software under the terms of"
echo "the GNU General Public License (GPL) versions 2 or 3."
echo
# work around for broken system header files in IRIX 6.5.18 - 6.5.22
case "$PLATFORM" in
@ -2983,6 +2645,17 @@ if [ "$CFG_PNG" = "no" ]; then
elif [ "$CFG_PNG" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG png"
fi
if [ "$CFG_GLIBMAINLOOP" = "no" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG no-glibmainloop"
elif [ "$CFG_GLIBMAINLOOP" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG glibmainloop"
GLIB_CFLAGS="`pkg-config --cflags glib-2.0` `pkg-config --cflags gthread-2.0`"
QMAKE_VARS="$QMAKE_VARS \"QMAKE_CFLAGS_GLIB=$GLIB_CFLAGS\""
GLIB_LINKFLAG="`pkg-config --libs glib-2.0` `pkg-config --libs gthread-2.0`"
QMAKE_VARS="$QMAKE_VARS \"QMAKE_LIBS_GLIB=$GLIB_LINKFLAG\""
fi
if [ "$CFG_GIF" = "no" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG no-gif"
elif [ "$CFG_GIF" = "yes" ]; then
@ -3088,6 +2761,7 @@ QMAKE_VARS="$QMAKE_VARS \"libs.path=${QT_INSTALL_LIBS}\""
QMAKE_VARS="$QMAKE_VARS \"bins.path=${QT_INSTALL_BINS}\""
QMAKE_VARS="$QMAKE_VARS \"data.path=${QT_INSTALL_DATA}\""
QMAKE_VARS="$QMAKE_VARS \"translations.path=${QT_INSTALL_TRANSLATIONS}\""
QMAKE_VARS="$QMAKE_VARS \"share.path=${QT_INSTALL_SHARE}\""
# turn off exceptions for the compilers that support it
COMPILER=`echo $PLATFORM | cut -f 2- -d-`
@ -3146,7 +2820,7 @@ case "$COMPILER" in
g++*)
# GNU C++
QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"`
COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null | sed 's,^[^0-9]*,,g'`
COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null | sed 's,^[^0-9]*,,g'`
case "$COMPILER_VERSION" in
2.95.*)
COMPILER_VERSION="2.95.*"
@ -3154,7 +2828,7 @@ g++*)
3.*)
COMPILER_VERSION="3.*"
;;
4.*)
[1-9][0-9]|[1-9][0-9].*|[7-9]|[4-9].*)
COMPILER_VERSION="4.*"
;;
*)
@ -3162,6 +2836,17 @@ g++*)
esac
[ ! -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}"
;;
clang)
# Clang
QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"`
COMPILER_VERSION=`${QMAKE_CONF_COMPILER} -dumpversion 2>/dev/null | sed 's,^[^0-9]*,,g'`
case "$COMPILER_VERSION" in
*)
# Consider clang as compatible with g++-4.x and therefore the same build-key is used
COMPILER="g++-4.*"
;;
esac
;;
*)
#
;;
@ -3548,6 +3233,11 @@ if [ "$CFG_PNG" = "no" ]; then
else
echo "PNG support ......... $CFG_PNG ($CFG_LIBPNG)"
fi
if [ "$CFG_GLIBMAINLOOP" = "no" ]; then
echo "Glib main loop support ......... $CFG_GLIBMAINLOOP"
else
echo "Glib main loop support ......... $CFG_GLIBMAINLOOP ($CFG_LIBGLIBMAINLOOP)"
fi
echo "zlib support ........ $CFG_ZLIB"
if [ "$PLATFORM_QWS" = "yes" ]; then
echo "Embedded support .... $CFG_EMBEDDED"

@ -142,12 +142,12 @@ the icon path.
Application icons can be installed for use by all users, or on a per-user basis.
A user currently logged into their KDE desktop can discover these locations
by using \link http://developer.kde.org/documentation/other/kde-config.html
kde-config\endlink, for example,
by using \link http://developer.kde.org/documentation/other/tde-config.html
tde-config\endlink, for example,
by typing the following in a terminal window:
\code
kde-config --path icon
tde-config --path icon
\endcode
Typically, the list of colon-separated paths printed to stdout includes the

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

@ -154,10 +154,10 @@ the icon path.
</h3>
<a name="3-1"></a><p> Application icons can be installed for use by all users, or on a per-user basis.
A user currently logged into their KDE desktop can discover these locations
by using <a href="http://developer.kde.org/documentation/other/kde-config.html">kde-config</a>, for example,
by using <a href="http://developer.kde.org/documentation/other/tde-config.html">tde-config</a>, for example,
by typing the following in a terminal window:
<p> <pre>
kde-config --path icon
tde-config --path icon
</pre>
<p> Typically, the list of colon-separated paths printed to stdout includes the

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 822 B

After

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@ -95,7 +95,7 @@ void poly()
int head = 0;
int tail = -maxcurves + 2;
<a href="qpointarray.html">QPointArray</a> *a = new <a href="qpointarray.html">QPointArray</a>[ maxcurves ];
register QPointArray *p;
QPointArray *p;
<a name="x1760"></a> <a href="qrect.html">QRect</a> r = d-&gt;<a href="qwidget.html#rect">rect</a>(); // desktop rectangle
int i;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 776 B

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 664 B

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 523 B

After

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -63,7 +63,6 @@
"Font Displayer" qfd-example.html
"Fonts in Qt/Embedded" emb-fonts.html
"Format of the QDataStream Operators" datastreamformat.html
"Functions removed in Qt 2.0" removed20.html
"GNU General Public License" gpl.html
"Getting Started" motif-walkthrough-1.html
"Grapher Plugin" grapher-nsplugin-example.html
@ -119,7 +118,6 @@
"Pictures of Most Qt Widgets" pictures.html
"Play Tetrix!" qaxserver-demo-tetrax.html
"Popup Widgets" popup-example.html
"Porting to Qt 2.x" porting2.html
"Porting to Qt 3.x" porting.html
"Porting your applications to Qt/Embedded" emb-porting.html
"Preparing to Migrate the User Interface" motif-walkthrough-2.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 511 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 883 B

After

Width:  |  Height:  |  Size: 883 B

@ -217,12 +217,9 @@ previously disabled, please check these macro variables:
<li> <tt>CHECK_NULL</tt> becomes <tt>QT_CHECK_NULL</tt>
<li> <tt>CHECK_MATH</tt> becomes <tt>QT_CHECK_MATH</tt>
</ul>
<p> The name of some debugging macro functions has been changed as well
but source compatibility should not be affected if the macro variable
<tt>QT_CLEAN_NAMESPACE</tt> is not defined:
<p> The name of some debugging macro functions has been changed:
<p> <ul>
<li> <tt>ASSERT</tt> becomes <tt>Q_ASSERT</tt>
<li> <tt>CHECK_PTR</tt> becomes <tt>Q_CHECK_PTR</tt>
</ul>
<p> For the record, undocumented macro variables that are not part of the API
have been changed:

@ -1,965 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:36 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Porting to Qt 2.x</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Porting to Qt 2.x</h1>
<p> <p>
You're probably looking at this page because you want to port
your application from Qt 1.x to Qt 2.x, but to be sure, let's
review the good reasons to do this:
<ul>
<li>To get access to all the new Qt 2.x features like the rich text
HTML subset for formatted labels, tooltips, online help etc.
and the much easier to use layout classes and widgets.
<li>To make your application truly international, with support
for Unicode and translations for the languages of the world.
<li>To allow your application to fit into the new look of the
Unix desktop with configurable, very powerful "themes". The
extended style system also integrates Qt applications better
on MS-Windows desktops. Qt will automatically chose the right
colors and fonts and obey global system setting changes.
<li>To stay up-to-date with the version of Qt that gets all the
new features and bug-fixes.
<li>To get more speed and smoother widgets display with all the
new anti-flicker changes in Qt.
<li>Most of all though, you want to port to Qt 2.x
so that your Wheel Mouse works!
</ul>
<p> <p>
The Qt 2.x series is not binary compatible with the 1.x series.
This means programs compiled for Qt 1.x must be recompiled to work
with Qt 2.x. Qt 2.x is also not completely <em>source</em> compatible
with 1.x, however all points of incompatibility cause
compiler errors (rather than mysterious results), or produce run-time
messages. The result is that Qt 2.x includes many additional features,
discards obsolete functionality that is easily converted to use the new
features, and that porting an application from Qt 1.x to Qt 2.x is
a simple task well worth the amount of effort required.
<p> To port code using Qt 1.x to use Qt 2.x:
<p> <ul>
<li> Briefly read the porting notes below to get an idea of what to expect.
<li> Be sure your code compiles and runs well on all your target platforms with Qt 1.x.
<li> Recompile with Qt 2.x. For each error, search below for related
identifiers (eg. function names, class names) - this documented is
structured to mention all relevant identifiers to facilitate such
searching, even if that makes it a little verbose.
<li> If you get stuck, ask on the qt-interest mailing list, or
Trolltech Technical Support if you're a Professional Edition
licensee.
</ul>
<p> Many very major projects, such as <a href="http://www.kde.org/">KDE</a>
have been port, so there is plenty of expertise in the collective conscious
that is the Qt Developer Community!
</p>
<p> <hr>
<p> <h2 align=center>The Porting Notes</h2>
<p> <ul>
<li><b><a href="#Namespace">Namespace</a></b>
<li><b><a href="#Virtual">Virtual Functions</a></b>
<li><b><a href="#Collection">Collection classes</a></b>
<li><b><a href="#DefaultParent">No Default 0 Parent Widget</a></b>
<li><b><a href="#DebugVsRelease">Debug vs. Release</a></b>
<li><b><a href="#QApplication">QApplication</a></b>
<li><b><a href="#QClipboard">QClipboard</a></b>
<li><b><a href="#QColor">QColor</a></b>
<li><b><a href="#QDataStream">QDataStream</a></b>
<li><b><a href="#QDialog">QDialog</a></b>
<li><b><a href="#QDropSite">QDropSite</a></b>
<li><b><a href="#QEvent">QEvent</a></b>
<li><b><a href="#QFile">QFile</a></b>
<li><b><a href="#QFontMetrics">QFontMetrics</a></b>
<li><b><a href="#QIODevice">QIODevice</a></b>
<li><b><a href="#QLabel">QLabel</a></b>
<li><b><a href="#QLayout">QLayout</a></b>
<li><b><a href="#QListView">QListView</a></b>
<li><b><a href="#QMenuData">QMenuData</a></b>
<li><b><a href="#QMenuData">QPopupMenu</a></b>
<li><b><a href="#QMultiLineEdit">QMultiLineEdit</a></b>
<li><b><a href="#QPainter">QPainter</a></b>
<li><b><a href="#QPicture">QPicture</a></b>
<li><b><a href="#QPoint">QPoint, <a href="qpointarray.html">QPointArray</a>, <a href="qsize.html">QSize</a> and <a href="qrect.html">QRect</a></a></b>
<li><b><a href="#QPixmap">QPixmap</a></b>
<li><b><a href="#QRgb">QRgb</a></b>
<li><b><a href="#QScrollView">QScrollView</a></b>
<li><b><a href="#QStrList">QStrList</a></b>
<li><b><a href="#QString">QString</a></b>
<li><b><a href="#QTextStream">QTextStream</a></b>
<li><b><a href="#QUriDrag">QUriDrag / QUrlDrag</a></b>
<li><b><a href="#QValidator">QComboBox</a></b>
<li><b><a href="#QValidator">QLineEdit</a></b>
<li><b><a href="#QValidator">QSpinBox</a></b>
<li><b><a href="#QValidator">QValidator</a></b>
<li><b><a href="#QWidget">QWidget</a></b>
<li><b><a href="#QWindow">QWindow</a></b>
</ul>
<p> <hr>
<p> <h3><a name="Namespace">Namespace</a></h3>
<p> <p> Qt 2.x is namespace-clean, unlike 1.x. Qt now uses very few
global identifiers. Identifiers like <code>red, blue, LeftButton,
AlignRight, Key_Up, Key_Down, NoBrush</code> etc. are now part of a
special class <code>Qt</code> (defined in qnamespace.h),
which is inherited by
most Qt classes. Member functions of classes that inherit from <a href="qwidget.html">QWidget</a>,
etc. are totally unaffected, but code that is
<em>not</em> in functions of classes inherited from <code>Qt</code>,
you must qualify these identifiers like this: <code>Qt::red,
Qt::LeftButton, Qt::AlignRight</code>, etc.
<p> <p>The <code>qt/bin/qt20fix</code> script helps to fix the code that
needs adaption, though most code does not need changing.
<p> Compiling with -DQT1COMPATIBILITY will help you get going with Qt 2.x
- it allows all the old "dirty namespace" identifiers from Qt 1.x to
continue working. Without it, you'll get compile errors that can
easily be fixed by searching this page for the clean identifiers.
<p> <h3><a name="DefaultParent">No Default 0 Parent Widget</a></h3>
<p> In Qt 1.x, all widget constructors were defined with a default value
of 0 for the parent widget. However, only the main window of the
application should be created with a 0 parent, all other widgets
should have parents. Having the 0 default made it too simple to create
bugs by forgetting to specify the parent of non-mainwindow
widgets. Such widgets would typically never be deleted (causing memory
leaks), and they would become top-level widgets, confusing the window
managers. Therefore, in Qt 2.x the 0 default parent has been removed
for the widget classes that are not likely to be used as main windows.
<p> Note also that programs no longer need (or should) use 0 parent just
to indicate that a widget should be top-level. See
<pre> QWidget::isTopLevel() </pre>
for details. See also the notes about
<a href="#QMenuData">QPopupMenu</a> and <a href="#QDialog">QDialog</a>
below.
<p> <h3><a name="Virtual">Virtual Functions</a></h3>
<p> <p> Some virtual functions have changed signature in Qt 2.x.
If you override them in derived classes, you must change the signature
of your functions accordingly.
<p> <!-- warwick can check for additions to this with his qt-2-report -->
<ul>
<li><pre> QWidget::setStyle(GUIStyle)</pre>
<li><pre> QListView::addColumn(const char *, int)</pre>
<li><pre> QListView::setColumnText(int, const char *)</pre>
<li><pre> QListViewItem::setText(int, const char *)</pre>
<li><pre> QMultiLineEdit::insertLine(const char *, int)</pre>
<li><pre> QMultiLineEdit::insertAt(const char *, int, int, bool)</pre>
<li><pre> QSpinBox::setPrefix(const char *)</pre>
<li><pre> QSpinBox::setSuffix(const char *)</pre>
<li><pre> QToolButton::setTextLabel(const char *, bool)</pre>
<li><pre> QDoubleValidator::validate(QString &amp;, int &amp;)</pre>
<li><pre> QIntValidator::validate(QString &amp;, int &amp;)</pre>
<li><pre> QValidator::fixup(QString &amp;)</pre>
<li><pre> QSlider::paintSlider(QPainter *, const <a href="qrect.html">QRect</a> &amp;)</pre>
</ul>
<p> This is one class of changes that are
not detected by the compiler,
so you should mechanically search for each of
these function names in your header files, eg.
<p> <pre>
egrep -w 'setStyle|addColumn|setColumnText|setText...' *.h
</pre>
<p> Of course, you'll get a few false positives (eg. if you have a setText
function that is not in a subclass of <a href="qlistviewitem.html">QListViewItem</a>).
<p> <h3><a name="Collection">Collection classes</a></h3>
<p> <p> The <a href="collection.html#collection-classes">collection classes</a> include generic
classes such as QGDict, QGList, and
the subclasses such as <a href="qdict.html">QDict</a> and QList.
<p> <p> The macro-based Qt collection classes are obsolete; use the
template-based classes instead. Simply remove includes of qgeneric.h and
replace e.g. Q_DECLARE(<a href="qcache.html">QCache</a>,QPixmap) with QCache<QPixmap>.
<p> <p> The GCI global typedef is replaced by QCollection::Item. Only if you
make your own subclasses of the undocumented generic collection classes
will you have GCI in your code.
This change has been made to avoid collisions with other namespaces.
<p> <p> The GCF global typedef is removed (it was not used in Qt).
<p> <h3><a name="DebugVsRelease">Debug vs. Release</a></h3>
<p> <p>The Q_ASSERT macro is now a null expression if the QT_CHECK_STATE flag
is not set (i.e. if the QT_NO_CHECK flag is defined).
<p> <p>The debug() function now outputs nothing if Qt was compiled with
the QT_NO_DEBUG macro defined.
<p> <h3><a name="QString">QString</a></h3>
<p> <a href="qstring.html">QString</a> has undergone major changes internally, and although it is highly
backward compatible, it is worth studying in detail when porting to Qt 2.x.
The Qt 1.x QString class has been renamed to <a href="qcstring.html">QCString</a> in Qt 2.x, though if
you use that you will incur a performance penalty since all Qt functions
that took const char* now take const QString&.
<p> <p>
To take full advantage of the new <a href="i18n.html#internationalization">Internationalization</a>
functionality in Qt 2.x, the following steps are required:
<p> <ul>
<li> Start converting all uses of "const char*" in parameters to
"const QString&" - this can often be done mechanically, eg.
using Perl. Convert usage of char[] for temporary string
building to QString (much software already uses QString for
this purpose as it offers many more facilities).
<p> If you find that you are mixing usage of QCString, QString,
and <a href="qbytearray.html">QByteArray</a>, this causes lots of unnecessary copying and
might indicate that the true nature of the data you are
dealing with is uncertain. If the data is NUL-terminated
8-bit data, use QCString; if it is unterminated (ie.
contains NULs) 8-bit data, use QByteArray; if it is text,
use <a href="qstring.html">QString</a>.
</p>
<li> Put a breakpoint in <pre> QString::latin1()</pre>
to catch places where
Unicode information is being converted to ASCII (loosing
information if your user in not using Latin1). Qt has
a small number of calls to this - ignore those. As a stricter
alternative, compile your code with QT_NO_ASCII_CAST defined,
which hides the automatic conversion of QString to const char*,
so you can catch problems at compile time.
</p>
<li> See the Qt <a href="i18n.html">Internationalization page</a>
for information about the full process of internationalizing
your software.
</ul>
<p> <p>
Points to note about the new QString are:
<p> <dl compact>
<dt><b>Unicode</b></dt>
<dd>
Qt now uses Unicode throughout.
data() now returns a <em>const</em> reference to an ASCII version
of the string - you cannot directly access the
string as an array of bytes, because it isn't one. Often, latin1() is
what you want rather than data(), or just leave it to convert to
const char* automatically. data() is only used now to aide porting to Qt 2.x,
and ideally you'll only need latin1() or implicit conversion when interfacing
to facilities that do not have Unicode support.
<p> <dt><b>Automatic-expanding</b></dt>
<dd>
A big advantage of the new <a href="qstring.html">QString</a> is that it automatically expands
when you write to an indexed position.
<p> <dt><b>QChar and <a href="qcharref.html">QCharRef</a></b></dt>
<dd>
<a href="qchar.html">QChar</a> are the Unicode characters that make up a QString. A QCharRef is
a temporary reference to a QChar in a QString that when assigned to
ensures that the <a href="shclass.html#implicit-sharing">implicit sharing</a> semantics of the QString are maintained.
You are unlikely to use QCharRef in your own code - but so that you
understand compiler error messages, just know that <tt>mystring[123]</tt>
is a QCharRef whenever <tt>mystring</tt> is not a constant string. A QCharRef
has basically the same functionality as a QChar, except it is more restricted
in what you can assign to it and cast it to (to avoid programming errors).
<p> <dt><b>Use QString</b></dt>
<dd>
Try to always use QString. If you <em>must</em>, use <a href="qcstring.html">QCString</a> which is the
old implementation from Qt 1.x.
<p> <dt><b>Unicode vs. ASCII</b></dt>
<dd>
Every conversion to and from ASCII is wasted time, so try to use <a href="qstring.html">QString</a>
as much as possible rather than const char*. This also ensures you have
full 16-bit support.
<p> <dt><b>Convertion to ASCII</b></dt>
<dd>
The return value from operator const char*() is transient - don't expect
it to remain valid while you make deep function calls.
It is valid for as long as you don't modify or destroy the QString.
<p> <dt><b>QString is simpler</b></dt>
<dd>
Expect your code to become simpler with the new QString, especially
places where you have used a char* to wander over the string rather
than using indexes into the string.
<p> <dt><b>Some hacks don't work</b></dt>
<dd>
This hack:
use_sub_string( &my_string[index] )
should be replaced by:
use_sub_string( my_string.mid(index) )
<p> <dt><b>QString(const char*, int) is removed</b></dt>
<dd>
The QString constructor taking a const char* and an integer is removed.
Use of this constructor was error-prone, since the length included the
'&#92;0' terminator. Use <a href="qstring.html#left">QString::left</a>(int) or <a href="qstring.html#fromLatin1">QString::fromLatin1</a>( const char*,
int ) -- in both cases the int parameter signifies the number of characters.
<p> <dt><b>QString(int) is private</b></dt>
<dd>
The <a href="qstring.html">QString</a> constructor taking an integer is now private. This function
is not meaningful anymore, since QString does all space allocation
automatically. 99% of cases can simple be changed to use the
default constructor, QString().
<p>
In Qt 1.x the constructor was used in two ways: accidentally,
by attempting to convert a char to a QString (the char converts to int!) -
giving strange bugs, and as a way to make a QString big enough prior to
calling <pre> QString::sprintf()</pre>
. In Qt 2.x, the accidental bug case is
prevented (you will get a compilation error) and QString::sprintf has
been made safe - you no longer need to pre-allocate space (though for
other reasons, sprintf is still a poor choice - eg. it doesn't pass Unicode).
The only remaining common case is conversion of 0 (NULL) to QString, which
would usually give expected results in Qt 1.x. For Qt 2.x the correct
syntax is to use <a href="qstring.html#QString-null">QString::null</a>, though note that
the default constructor, QString(), creates a null string too.
Assignment of 0 to a <a href="qstring.html">QString</a> is ambiguous - assign
QString::null; you'll mainly find these in code that has been converted
from const char* types to QString.
This also prevents a common error case from Qt 1.x - in
that version, mystr = 'X' would <em>not</em> produce the expected
results and was always a programming error; in Qt 2.x, it works - making
a single-character string.
<p> <p>
Also see <a href="#QStrList">QStrList</a>.
<p> <dt><b>Signals and Slots</b></dt>
<dd>
Many signal/slots have changed from const char* to QString. You will
get run-time errors when you try to <pre> QObject::connect()</pre>
to the old
signals and slots, usually with a message indicating the const QString&
replacement signal/slot.
<p> <dt><b>Optimize with Q2HELPER</b></dt>
<dd>
In qt/src/tools/qstring.cpp there is a Q2HELPER - define it for some
extra debugging/optimizing features (don't leave it it - it kills performance).
You'll get an extra function, qt_qstring_stats(), which will print a
summary of how much your application is doing Unicode and ASCII
back-and-forth conversions.
<p> <dt><b>QString::detach() is obsolete and removed</b></dt>
<dd>
Since <a href="qstring.html">QString</a> is now always shared, this function does nothing.
Remove calls to QString::detach().
<p> <dt><b>QString::resize(int size) is obsolete and removed</b></dt>
<dd>
Code using this to truncate a string should use
<a href="qstring.html#truncate">truncate(size-1)</a>.
Code using qstr.resize(0) should use qstr = QString::null.
Code calling resize(n) prior to using
<a href="qstring.html#operator[]">operator[]</a> up to n just remove
the resize(n) completely.
<p> <dt><b>QString::size() is obsolete and removed</b></dt>
<dd>
Calls to this function must be replaced by
<a href="qstring.html#length">length()</a>+1.
<p> <dt><b>QString::setStr(const char*) is removed</b></dt>
<dd>Try to understand why you were using this.
If you just meant assignment, use that. Otherwise,
you are probably using QString as an array of bytes, in which case use
<a href="qbytearray.html">QByteArray</a> or <a href="qcstring.html">QCString</a> instead.
<p> <dt><b>QString is not an array of bytes</b></dt>
<dd>
Code that uses <a href="qstring.html">QString</a> as an array of bytes should use QByteArray
or a char[], <em>then</em> convert that to a QString if needed.
<p> <dt><b>"string = 0"</b></dt>
<dd>
Assigning 0 to a QString should be assigning the null string,
ie. string = QString::null.
<p> <dt><b>System functions</b></dt>
<dd>
You may find yourself needing latin1() for passing to the operating system
or other libraries, and be tempted to use QCString to save the conversion,
but you are better off using Unicode throughout, then when the operating
system supports Unicode, you'll be prepared. Some Unix operating systems
are now beginning to have basic Unicode support, and Qt will be tracking
these improvements as they become more widespread.
<p> <dt><b>Bugs removed</b></dt>
<dd>
toShort() returns 0 (and sets *ok to false) on error.
toUInt() now works for big valid unsigned integers.
insert() now works into the same string.
<p> <dt><b>NULL pointers</b></dt>
<dd>
When converting "const char*" usage to QString in order to make your
application fully Unicode-aware, use QString::null for the null value
where you would have used 0 with char pointers.
<p> <dt><b>QString is not null terminated</b></dt>
<dd>
This means that inserting a 0-character
in the middle of the string does <em>not</em> change the length(). ie.
<pre>
<a href="qstring.html">QString</a> s = "fred";
s[1] = '\0';
// s.<a href="qstring.html#length">length</a>() == 4
// s == "f\0ed"
// s.<a href="qstring.html#latin1">latin1</a>() == "f"
s[1] = 'r';
// s == "fred"
// s.<a href="qstring.html#latin1">latin1</a>() == "fred"
</pre>
Especially look out for this type of code:
<pre>
<a href="qstring.html">QString</a> s(2);
s[0] = '?';
s[1] = 0;
</pre>
This creates a string 2 characters long.
To find these problems while converting, you might like to
add <a href="qapplication.html#Q_ASSERT">Q_ASSERT</a>(strlen(d->ascii)==d->len) inside
<pre> QString::latin1()</pre>
.
<p> <dt><b>QString or Standard C++ string?</b></dt>
<dd>
<p>
The Standard C++ Library string is not Unicode. Nor is wstring defined
to be so (for the small number of platforms where it is defined at all).
This is the same mistake made over and over
in the history of C - only when non-8-bit characters are <em>the norm</em>
do programmers find them usable. Though it is possible to convert between
string and <a href="qstring.html">QString</a>, it is less efficient than using QString throughout.
For example, when using:
<pre>
QLabel::<a href="qlabel.html#setText">setText</a>( const <a href="qstring.html">QString</a>&amp; )
</pre>
if you use string, like this:
<pre>
void myclass::dostuffwithtext( const string&amp; str )
{
mylabel.setText( QString(str.c_str()) );
}
</pre>
that will create a (ASCII only) copy of str, stored in mylabel.
But this:
<pre>
void myclass::dostuffwithtext( const <a href="qstring.html">QString</a>&amp; str )
{
mylabel.setText( str );
}
</pre>
will make an <a href="shclass.html#implicitly-shared">implicitly shared</a> reference to str in the <a href="qlabel.html">QLabel</a> - no copying
at all. This function might be 10 nested function calls away from something
like this:
<pre>
void toplevelclass::initializationstuff()
{
doStuff( tr("Okay") );
}
</pre>
At this point, in Qt 2.x, the tr() does a very fast dictionary lookup
through memory-mapped message files, returning some Unicode <a href="qstring.html">QString</a> for
the appropriate language (the default being to just make a QString out
of the text, of course - you're not <em>forced</em> to use any of these
features), and that <em>same</em> memory mapped Unicode will be passed
though the system. All occurrences of the translation of "Okay" can
potentially be shared.
<p> </dl>
<p> <h3><a name="QApplication">QApplication</a></h3>
<p> In the function <pre> QApplication::setColorSpec()</pre>
,
PrivateColor and TrueColor are obsolete. Use ManyColor instead.
<p> <h3><a name="QColor">QColor</a></h3>
<p> <p>
All colors
(color0,
color1,
black,
white,
darkGray,
gray,
lightGray,
red,
green,
blue,
cyan,
magenta,
yellow,
darkRed,
darkGreen,
darkBlue,
darkCyan,
darkMagenta,
and
darkYellow)
are in the Qt namespace.
In members of classes that inherit the Qt namespace-class (eg. <a href="qwidget.html">QWidget</a>
subclasses), you can use the unqualified names as before, but in global
functions (eg. main()), you need to qualify them: Qt::red, Qt::white, etc.
See also the <a href="#QRgb">QRgb</a> section below.
<p> <h3><a name="QRgb">QRgb</a></h3>
<p> In QRgb (a typedef of long), the order of the RGB channels has changed to
be in the more efficient order (for typical contemporary hardware). If your
code made assumptions about the order, you will get blue where you expect
red and vice versa (you'll not notice the problem if you use shades of
gray, green, or magenta). You should port your code to use the
creator function <a href="qcolor.html#qRgb">qRgb</a>(int r,int g,int b) and the
access functions <a href="qcolor.html#qRed">qRed</a>(QRgb), <a href="qcolor.html#qBlue">qBlue</a>(QRgb), and <a href="qcolor.html#qGreen">qGreen</a>(QRgb).
If you are using the alpha channel, it hasn't moved, but you should use
the functions <a href="qcolor.html#qRgba">qRgba</a>(int,int,int,int) and <a href="qcolor.html#qAlpha">qAlpha</a>(QRgb). Note also that
<a href="qcolor.html#pixel">QColor::pixel</a>() does <i>not</i> return a QRgb (it never did on all platforms,
but your code may have assumed so on your platform) - this may also produce
strange color results - use <a href="qcolor.html#rgb">QColor::rgb</a>() if you want a QRgb.
<p> <h3><a name="QDataStream">QDataStream</a></h3>
<p> <p>The QDatastream serialization format of most Qt classes is changed
in Qt 2.x. Use <pre> QDataStream::setVersion( 1 )</pre>
to get a
datastream object that can read and write Qt 1.x format data streams.
<p> <p>If you want to write Qt 1.x format datastreams, note the following
compatibility issues:
<ul>
<li>QString: Qt 1.x has no Unicode support, so strings will be
serialized by writing the classic C string returned by <pre>
QString::<a href="qstring.html#latin1">latin1</a>().</pre>
<li><a href="#QPoint">QPoint & al.</a>: Coordinates will be
truncated to the Qt 1.x 16 bit format.
</ul>
<p> <h3><a name="QWidget">QWidget</a></h3>
<p> <h4>QWidget::recreate()</h4>
<p>
This function is now called <a href="qwidget.html#reparent">reparent()</a>.
<p> <h4>QWidget::setAcceptFocus(bool)</h4>
<p>
This function is removed.
Calls like QWidget::setAcceptFocus(TRUE) should be replaced by
<pre> QWidget::setFocusPolicy(StrongFocus)</pre>
, and
calls like QWidget::setAcceptFocus(FALSE) should be replaced by
<pre> QWidget::setFocusPolicy(NoFocus)</pre>
.
Additional policies are TabFocus and ClickFocus.
<p> <h4>QWidget::paintEvent()</h4>
<p>
paintEvent(0) is not permitted - subclasses need not check for
a null event, and might crash.
Never pass 0 as the argument to paintEvent(). You probably
just want repaint() or update() instead.
<p>
When processing a paintEvent, painting is only permitted within
the update region specified in the event. Any painting outside will be
clipped away. This shouldn't break any code (it was always like this
on MS-Windows) but makes many explicit calls to
<a href="qpainter.html#setClipRegion">QPainter::setClipRegion</a>() superfluous. Apart from the improved
consistency, the change is likely to reduce flicker and to make Qt
event slightly faster.
<p> <h3><a name="QIODevice">QIODevice</a></h3>
<p>
The protected member QIODevice::index is renamed to QIODevice::ioIndex
to avoid warnings and to allow compilation with bad C libraries that
#define index to strchr. If you have made a subclass of <a href="qiodevice.html">QIODevice</a>,
check every occurrence of the string "index" in the implementation, since
a compiler will not always catch cases like <pre>(uint)index</pre>
that need to be changed.
<p> <h3><a name="QLabel">QLabel</a></h3>
<p> <h4><pre> QLabel::setMargin()</pre>
</h4>
<p>
<pre> QLabel::setMargin()</pre>
and<pre> QLabel::margin()</pre>
have been renamed to <pre> QLabel::setIndent()</pre>
and
<pre> QLabel::indent()</pre>
, respectively. This was done to avoid
collision with <a href="qframe.html#setMargin">QFrame::setMargin</a>(), which is now virtual.
<p> <h4><pre> QLabel::setMovie()</pre>
</h4>
<p>
Previously, setting a movie on a label cleared the value of text().
Now it doesn't. If you somehow used <tt>QLabel::text()</tt>
to detect if a
movie was set, you might have trouble. This is unlikely.
<p> <h3><a name="QDialog">QDialog</a></h3>
<p> <p> The semantics of the parent pointer changed for modeless dialogs:
In Qt-2.x, dialogs are always top level windows. The parent, however,
takes the ownership of the dialog, i.e. it will delete the dialog at
destruction if it has not been explicitly deleted
already. Furthermore, the window system will be able to tell that both
the dialog and the parent belong together. Some X11 window managers
will for instance provide a common taskbar entry in that case.
<p> <p>
If the dialog belongs to a top level main window
of your application, pass this main window as parent to the dialog's
constructor. Old code (with 0 pointer) will still run. Old code that
included QDialogs as child widgets will no longer work (it never really did).
If you think you might be doing this, put a breakpoint in
<a href="qdialog.html#QDialog">QDialog::QDialog</a>() conditional on parent not being 0.
<p> <h3><a name="QStrList">QStrList</a></h3>
<p> Many methods that took a <a href="qstrlist.html">QStrList</a> can now instead take a <a href="qstringlist.html">QStringList</a>,
which is a real list of <a href="qstring.html">QString</a> values.
<p> To use QStringList rather than QStrList, change loops that look like this:
<pre>
<a href="qstrlist.html">QStrList</a> list = ...;
const char* s;
for ( s = list.<a href="qptrlist.html#first">first</a>(); s; s = list.<a href="qptrlist.html#next">next</a>() ) {
process(s);
}
</pre>
to be like this:
<pre>
<a href="qstringlist.html">QStringList</a> list = ...;
QStringList::ConstIterator i;
for ( i = list.<a href="qvaluelist.html#begin">begin</a>(); i != list.<a href="qvaluelist.html#end">end</a>(); ++i ) {
process(*i);
}
</pre>
<p> In general, the QStrList functions are less efficient, building a temporary QStringList.
<p> The following functions now use QStringList rather than QStrList
for return types/parameters.
<p> <ul>
<li><tt>void <a href="qfiledialog.html#setFilters">QFileDialog::setFilters</a>(const <a href="qstrlist.html">QStrList</a>&)</tt>
becomes <tt>void QFileDialog::setFilters(const <a href="qstringlist.html">QStringList</a>&)</tt>
<li><tt>QStrList <a href="qfiledialog.html#getOpenFileNames">QFileDialog::getOpenFileNames</a>(...)</tt>
becomes <tt>QStringList QFileDialog::getOpenFileNames(...)</tt>
<li><tt>bool QUrlDrag::decodeLocalFiles(<a href="qmimesource.html">QMimeSource</a>*, QStrList&)</tt>
becomes <tt>bool <a href="quridrag.html#decodeLocalFiles">QUriDrag::decodeLocalFiles</a>(QMimeSource*, QStringList&)</tt>
<li><tt>const QStrList *QDir::entryList(...) const</tt>
becomes <tt>QStringList <a href="qdir.html#entryList">QDir::entryList</a>(...) const</tt>
(note that the return type is no longer a pointer). You may also
choose to use encodedEntryList().
</ul>
<p> The following functions are added:
<ul>
<li><tt>QComboBox::insertStringList(const QStringList &, int index=-1)</tt>
<li><tt>QListBox::insertStringList(const QStringList &,int index=-1)</tt>
</ul>
<p> The rarely used static function <tt>void
QFont::listSubstitutions(<a href="qstrlist.html">QStrList</a>*)</tt> is replaced by <tt>QStringList
<a href="qfont.html#substitutions">QFont::substitutions</a>()</tt>.
<p> <h3><a name="QLayout">QLayout</a></h3>
<p> <p> Calling resize(0,0) or resize(1,1) will no longer work magically.
Remove all such calls. The default size of top level widgets will be their
<a href="qwidget.html#sizeHint">sizeHint()</a>.
<p> <p> The default implementation of <a href="qwidget.html#sizeHint">QWidget::sizeHint</a>() will no longer
return just an invalid size; if the widget has a layout, it will return
the layout's preferred size.
<p> <p> The special maximum MaximumHeight/Width is now QWIDGETSIZE_MAX,
not QCOORD_MAX.
<p> <p> <a href="qboxlayout.html#addWidget">QBoxLayout::addWidget()</a>
now interprets the <em>alignment</em> parameter more aggressively. A
non-default alignment now indicates that the widget should not grow to
fill the available space, but should be sized according to sizeHint().
If a widget is too small, set the alignment to 0. (Zero indicates no
alignment, and is the default.)
<p> <p> The class QGManager is removed. Subclasses of <a href="qlayout.html">QLayout</a> need to be rewritten
to use the new, much simpler <a href="qlayout.html">QLayout API</a>.
<p> <p> For typical layouts, all use of
<a href="qwidget.html#setMinimumSize">setMinimumSize()</a>
and
<a href="qwidget.html#setFixedSize">setFixedSize()</a>
can be removed.
<a href="qlayout.html#activate">activate()</a> is no longer necessary.
<p> <p>
You might like to look at the <a href="qgrid.html">QGrid</a>, <a href="qvbox.html">QVBox</a>, and <a href="qhbox.html">QHBox</a> widgets - they offer
a simple way to build nested widget structures.
<p> <h3><a name="QListView">QListView</a></h3>
<p> <p>In Qt 1.x mouse events to the viewport where redirected to the
event handlers for the listview; in Qt 2.x, this functionality is
in <a href="qscrollview.html">QScrollView</a> where mouse (and other position-oriented) events are
redirected to viewportMousePressEvent() etc, which in turn translate
the event to the coordinate system of the contents and call
contentsMousePressEvent() etc, thus providing events in the most
convenient coordinate system. If you overrode QListView::MouseButtonPress(),
<a href="qwidget.html#mouseDoubleClickEvent">QListView::mouseDoubleClickEvent</a>(), <a href="qwidget.html#mouseMoveEvent">QListView::mouseMoveEvent</a>(), or
<a href="qwidget.html#mouseReleaseEvent">QListView::mouseReleaseEvent</a>() you must instead override
viewportMousePressEvent(),
viewportMouseDoubleClickEvent(), viewportMouseMoveEvent(), or
viewportMouseReleaseEvent() respectively. New code will usually override
contentsMousePressEvent() etc.
<p> <p>The signal <a href="qlistview.html#selectionChanged">QListView::selectionChanged</a>(<a href="qlistviewitem.html">QListViewItem</a> *) can now be
emitted with a null pointer as parameter. Programs that use the
argument without checking for 0, may crash.
<p> <h3><a name="QMultiLineEdit">QMultiLineEdit</a></h3>
<p> <p>
The protected function
<pre> QMultiLineEdit::textWidth(QString*)</pre>
changed to
<pre> QMultiLineEdit::textWidth(const <a href="qstring.html">QString</a>&amp;)</pre>
.
This is unlikely to be a problem, and you'll get a compile error
if you called it.
<p> <h3><a name="QClipboard">QClipboard</a></h3>
<p> <p>
<pre> QClipboard::pixmap()</pre>
now returns a <a href="qpixmap.html">QPixmap</a>, not a QPixmap*.
The pixmap
will be <a href="qpixmap.html#isNull">null</a> if no pixmap is on the
clipboard. <a href="qclipboard.html">QClipboard</a> now offers powerful MIME-based types on the
clipboard, just like drag-and-drop (in fact, you can reuse most of your
drag-and-drop code with clipboard operations).
<p> <h3><a name="QDropSite">QDropSite</a></h3>
<p> <P>
QDropSite is obsolete. If you simply passed <tt>this</tt>, just remove
the inheritance of QDropSite and call
<a href="qwidget.html#setAcceptDrops">setAcceptDrops(TRUE)</a> in the class
constructor.
If you passed something other than <tt>this</tt>,
your code will not work. A common case is passing
the
<a href="qscrollview.html#viewport">viewport()</a> of a <a href="qlistview.html">QListView</a>,
in which case,
override the
<a href="qscrollview.html#contentsDragMoveEvent">contentsDragMoveEvent()</a>,
etc.
functions rather than QListView's dragMoveEvent() etc. For other
cases, you will need to use an event filter to act on the drag/drop events
of another widget (as is the usual way to intercept foreign events).
<p> <h3><a name="QScrollView">QScrollView</a></h3>
<p> The parameters in the signal
<a href="qscrollview.html#contentsMoving">contentsMoving(int,int)</a>
are now positive rather than negative values, coinciding with
<a href="qscrollview.html#setContentsPos">setContentsPos()</a>. Search for
connections you make to this signal, and either change the slot they are
connected to such that it also expects positive rather than negative
values, or introduce an intermediate slot and signal that negates them.
<p> If you used drag and drop with <a href="qscrollview.html">QScrollView</a>, you may experience the problem
described for <a href="#QDropSite">QDropSite</a>.
<p> <h3><a name="QTextStream">QTextStream</a></h3>
<p> <p>
<pre> operator&lt;&lt;(QTextStream&amp;, QChar&amp;)</pre>
does not skip whitespace.
<pre> operator&lt;&lt;(QTextStream&amp;, char&amp;)</pre>
does,
as was the case with Qt 1.x. This is for backward compatibility.
<p> <h3><a name="QUriDrag">QUriDrag</a></h3>
<p> The class QUrlDrag is renamed to <a href="quridrag.html">QUriDrag</a>, and the API has been
broadened to include additional conversion routines, including
conversions to Unicode filenames (see the class documentation
for details). Note that in Qt 1.x
the QUrlDrag class used the non-standard MIME type "url/url",
while QUriDrag uses the standardized "text/uri-list" type. Other
identifiers affected by the Url to Uri change are
QUrlDrag::setUrls() and QUrlDrag::urlToLocalFile().
<p> <h3><a name="QPainter">QPainter</a></h3>
<p> <p> The GrayText painter flag has been removed. Use
<a href="qpainter.html#setPen">setPen( palette().disabled().foreground() )</a>
instead.
<p> <p> The RasterOp enum
(CopyROP,
OrROP,
XorROP,
NotAndROP,
EraseROP,
NotCopyROP,
NotOrROP,
NotXorROP,
AndROP, NotEraseROP,
NotROP,
ClearROP,
SetROP,
NopROP,
AndNotROP,
OrNotROP,
NandROP,
NorROP, LastROP)
is now part of the Qt namespace class, so if you
use it outside a member function, you'll need to prefix with Qt::.
<p> <h3><a name="QPicture">QPicture</a></h3>
<p> <p>The binary storage format of <a href="qpicture.html">QPicture</a> is changed, but the Qt 2.x
QPicture class can both read and write Qt 1.x format QPictures. No
special handling is required for reading; QPicture will automatically
detect the version number. In order to write a Qt 1.x format QPicture,
set the formatVersion parameter to 1 in the QPicture constructor.
<p> <p>For writing Qt 1.x format QPictures, the compatibility issues of <a
href="#QDataStream">QDataStream</a> applies.
<p> <p>It is safe to try to read a QPicture file generated with Qt 2.x
(without formatVersion set to 1) with a program compiled with Qt
1.x. The program will not crash, it will just issue the warning
"QPicture::play: Incompatible version 2.x" and refuse to load the
picture.
<p> <h3><a name="QPoint">QPoint, <a href="qpointarray.html">QPointArray</a>, <a href="qsize.html">QSize</a> and <a href="qrect.html">QRect</a></a></h3>
<p> <p>The basic coordinate datatype in these classes, QCOORD, is now 32
bit (int) instead of a 16 bit (short). The const values QCOORD_MIN and
QCOORD_MAX have changed accordingly.
<p> <p>QPointArray is now actually, not only seemingly, a QArray of <a href="qpoint.html">QPoint</a>
objects. The semi-internal workaround classes QPointData and QPointVal
are removed since they are no longer needed; QPoint is used directly
instead. The function <pre> QPointArray::shortPoints()</pre>
provides the point array converted to short (16bit) coordinates for
use with external functions that demand that format.
<p> <h3><a name="QImage">QImage</a></h3>
<p> <a href="qimage.html">QImage</a> uses QRgb for the colors - see <a href="#QRgb">the changes to that</a>.
<p> <h3><a name="QPixmap">QPixmap</a></h3>
<p> <pre> QPixmap::convertToImage()</pre>
with bitmaps now guarantees that color0 pixels
become color(0) in the resulting QImage. If you worked around the lack of
this, you may be able to simplify your code. If you made assumptions
about the previous undefined behavior, the symptom will be inverted
bitmaps (eg. "inside-out" masks).
<p> <p>
<pre> QPixmap::optimize(TRUE)</pre>
is replaced by
<pre> QPixmap::setOptimization(QPixmap::NormalOptim)</pre>
or
<pre> QPixmap::setOptimization(QPixmap::BestOptim)</pre>
- see the documentation
to choose which is best for your application. NormalOptim is most like
the Qt 1.x "TRUE" optimization.
<p> <h3><a name="QMenuData">QMenuData / <a href="qpopupmenu.html">QPopupMenu</a></a></h3>
<p> In Qt 1.x, new menu items were assigned either an application-wide
unique identifier or an identifier equal to the index of the item, depending on the
<a href="qmenudata.html#insertItem">insertItem(...)</a> function used.
In Qt 2.x this confusing
situation has been cleaned up: generated identifiers are always
unique across the entire application.
<p> If your code depends on generated ids
being equal to the item's index, a quick fix is to use
<pre> QMenuData::indexOf(int id)</pre>
in the handling function instead. You may alternatively pass
<pre> QMenuData::count()</pre>
as identifier when you insert the items.
<p> Furthermore, QPopupMenus can (and should!) be created with a parent
widget now, for example the main window that is used to display the
popup. This way, the popup will automatically be destroyed together
with its main window. Otherwise you'll have to take care of the
ownership manually.
<p> QPopupMenus are also reusable in 2.x. They may occur in different
locations within one menu structure or be used as both a menubar
drop-down and as a context popup-menu. This should make it possible to
significantly simplify many applications.
<p> Last but not least, <a href="qpopupmenu.html">QPopupMenu</a> no longer inherits QTableView. Instead,
it directly inherits <a href="qframe.html">QFrame</a>.
<p> <h3><a name="QValidator">QValidator (<a href="qlineedit.html">QLineEdit</a>, <a href="qcombobox.html">QComboBox</a>, <a href="qspinbox.html">QSpinBox</a>) </a></h3>
<p> <pre> QValidator::validate(...)</pre>
and
<pre> QValidator::fixup( <a href="qstring.html">QString</a> &amp; )</pre>
are now const
functions. If your subclass reimplements validate() as a
non-const function,
you will get a compile error (validate was pure virtual).
<p> In QLineEdit, QComboBox, and QSpinBox,
setValidator(...) now takes a const pointer to a <a href="qvalidator.html">QValidator</a>, and
validator() returns a const pointer. This change highlights the fact
that the widgets do not take the ownership of the validator (a validator is
a <a href="qobject.html">QObject</a> on its own, with its own parent - you can easily set the same validator
object on many different widgets), so changing the state of
such an object or deleting it is very likely a bug.
<p> <h3><a name="QFile">QFile, <a href="qfileinfo.html">QFileInfo</a>, <a href="qdir.html">QDir</a></a></h3>
<p> File and directory names are now always Unicode strings (ie. <a href="qstring.html">QString</a>). If you used QString
in the past for the simplicity it offers, you'll probably have little consequence. However,
if you pass filenames to system functions rather than using Qt functions (eg. if you use the
Unix <tt>unlink()</tt> function rather than <tt>QFile::remove()</tt>, your code will probably
only work for Latin1 locales (eg. Western Europe, the U.S.). To ensure your code will support
filenames in other locales, either use the Qt functions, or convert the filenames via
<pre> QFile::encodeFilename()</pre>
and <pre> QFile::decodeFilename()</pre>
- but do it
<em>just</em> as you call the system function - code that mixes encoded and unencoded filenames
is very error prone. See the comments in QString, such as regarding QT_NO_ASCII_CAST that
can help find potential problems.
<p> <h3><a name="QFontMetrics">QFontMetrics</a></h3>
<p> boundingRect(char) is replaced by
boundingRect(<a href="qchar.html">QChar</a>), but since
char auto-converts to QChar, you're not likely to run into problems
with this.
<p> <h3><a name="QWindow">QWindow</a></h3>
<p> This class (which was just <a href="qwidget.html">QWidget</a> under a different name) has been
removed. If you used it, do a global search-and-replace of the word
"QWindow" with "QWidget".
<p> <h3><a name="QEvent">QEvent</a></h3>
<p> <p> The global #define macros in qevent.h have been replaced by an
enum in <a href="qevent.html">QEvent</a>. Use e.g. QEvent::Paint instead of Event_Paint. Same
for all of:
Event_None,
Event_Timer,
Event_MouseButtonPress,
Event_MouseButtonRelease,
Event_MouseButtonDblClick,
Event_MouseMove,
Event_KeyPress,
Event_KeyRelease,
Event_FocusIn,
Event_FocusOut,
Event_Enter,
Event_Leave,
Event_Paint,
Event_Move,
Event_Resize,
Event_Create,
Event_Destroy,
Event_Show,
Event_Hide,
Event_Close,
Event_Quit,
Event_Accel,
Event_Clipboard,
Event_SockAct,
Event_DragEnter,
Event_DragMove,
Event_DragLeave,
Event_Drop,
Event_DragResponse,
Event_ChildInserted,
Event_ChildRemoved,
Event_LayoutHint,
Event_ActivateControl,
Event_DeactivateControl,
and
Event_User.
<p> <p> The Q_*_EVENT macros in qevent.h have been deleted. Use an
explicit cast instead. The macros were:
Q_TIMER_EVENT,
Q_MOUSE_EVENT,
Q_KEY_EVENT,
Q_FOCUS_EVENT,
Q_PAINT_EVENT,
Q_MOVE_EVENT,
Q_RESIZE_EVENT,
Q_CLOSE_EVENT,
Q_SHOW_EVENT,
Q_HIDE_EVENT,
and
Q_CUSTOM_EVENT.
<p> <p> QChildEvents are now sent for all QObjects, not just QWidgets.
You may need to add extra checking if you use a <a href="qchildevent.html">QChildEvent</a> without
much testing of its values.
<p> <h3>All the removed functions</h3>
<p> All <a href="removed20.html">these functions</a> have been removed in
Qt 2.x. Most are simply cases where "const char*" has changed to
"const <a href="qstring.html">QString</a>&", or when an enumeration type has moved into the Qt::
namespace (which, technically, is a new name, but your code will
compile just the same anyway). This list is provided for completeness.
<p>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

After

Width:  |  Height:  |  Size: 449 B

@ -152,7 +152,7 @@ private:
"Click this button to open a &lt;em&gt;new file&lt;/em&gt;. &lt;br&gt;"
"You can also select the &lt;b&gt;Open&lt;/b&gt; command "
"from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
<a name="x1140"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen",
<a name="x1140"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "document-open",
<a name="x1125"></a> fileOpenAction-&gt;<a href="qaction.html#iconSet">iconSet</a>().pixmap() );
<a name="x1126"></a> fileOpenAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileOpenText );

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 229 B

@ -117,20 +117,6 @@ Q_EXPORT int qstricmp( const char *, const char * );
Q_EXPORT int qstrnicmp( const char *, const char *, uint len );
#ifndef QT_CLEAN_NAMESPACE
Q_EXPORT inline uint cstrlen( const char *str )
{ return (uint)strlen(str); }
Q_EXPORT inline char *cstrcpy( char *dst, const char *src )
{ return strcpy(dst,src); }
Q_EXPORT inline int cstrcmp( const char *str1, const char *str2 )
{ return strcmp(str1,str2); }
Q_EXPORT inline int cstrncmp( const char *str1, const char *str2, uint len )
{ return strncmp(str1,str2,len); }
#endif
// qChecksum: Internet checksum

@ -158,19 +158,6 @@ private:
};
#if !defined(QT_CLEAN_NAMESPACE)
// CursorShape is defined in X11/X.h
#ifdef CursorShape
#define X_CursorShape CursorShape
#undef CursorShape
#endif
typedef Qt::CursorShape QCursorShape;
#ifdef X_CursorShape
#define CursorShape X_CursorShape
#endif
#endif
/*****************************************************************************
QCursor stream functions
*****************************************************************************/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 482 B

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

@ -734,16 +734,6 @@ inline int qRound( double d )
// Size-dependent types (architechture-dependent byte order)
//
#if !defined(QT_CLEAN_NAMESPACE)
// source compatibility with Qt 1.x
typedef signed char INT8; // 8 bit signed
typedef unsigned char UINT8; // 8 bit unsigned
typedef short INT16; // 16 bit signed
typedef unsigned short UINT16; // 16 bit unsigned
typedef int INT32; // 32 bit signed
typedef unsigned int UINT32; // 32 bit unsigned
#endif
typedef signed char Q_INT8; // 8 bit signed
typedef unsigned char Q_UINT8; // 8 bit unsigned
typedef short Q_INT16; // 16 bit signed
@ -823,9 +813,6 @@ class QDataStream;
#ifndef QT_MODULE_DIALOGS
# define QT_NO_DIALOG
#endif
#ifndef QT_MODULE_ICONVIEW
# define QT_NO_ICONVIEW
#endif
#ifndef QT_MODULE_WORKSPACE
# define QT_NO_WORKSPACE
#endif
@ -1023,28 +1010,6 @@ Q_EXPORT void qFatal( const char *, ... ) // print fatal message and exit
Q_EXPORT void qSystemWarning( const char *, int code = -1 );
#if !defined(QT_CLEAN_NAMESPACE) // compatibility with Qt 1
Q_EXPORT void debug( const char *, ... ) // print debug message
#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
__attribute__ ((format (printf, 1, 2)))
#endif
;
Q_EXPORT void warning( const char *, ... ) // print warning message
#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
__attribute__ ((format (printf, 1, 2)))
#endif
;
Q_EXPORT void fatal( const char *, ... ) // print fatal message and exit
#if defined(Q_CC_GNU) &amp;&amp; !defined(__INSURE__)
__attribute__ ((format (printf, 1, 2)))
#endif
;
#endif // QT_CLEAN_NAMESPACE
#if !defined(Q_ASSERT)
# if defined(QT_CHECK_STATE)
@ -1075,12 +1040,6 @@ Q_EXPORT bool qt_check_pointer( bool c, const char *, int );
# define Q_CHECK_PTR(p)
#endif
#if !defined(QT_NO_COMPAT) // compatibility with Qt 2
# if !defined(CHECK_PTR)
# define CHECK_PTR(x) Q_CHECK_PTR(x)
# endif
#endif // QT_NO_COMPAT
enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
typedef void (*QtMsgHandler)(QtMsgType, const char *);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 B

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1004 B

After

Width:  |  Height:  |  Size: 1004 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 346 B

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 382 B

@ -91,12 +91,6 @@ body { background: #ffffff; color: black; }
#ifndef QT_NO_ICONVIEW
#if !defined( QT_MODULE_ICONVIEW ) || defined( QT_INTERNAL_ICONVIEW )
#define QM_EXPORT_ICONVIEW
#else
#define QM_EXPORT_ICONVIEW Q_EXPORT
#endif
class QIconView;
class QPainter;
class QMimeSource;
@ -114,7 +108,7 @@ class QIconDragPrivate;
#ifndef QT_NO_DRAGANDDROP
class QM_EXPORT_ICONVIEW QIconDragItem
class Q_EXPORT QIconDragItem
{
public:
QIconDragItem();
@ -128,7 +122,7 @@ private:
};
class QM_EXPORT_ICONVIEW QIconDrag : public QDragObject
class Q_EXPORT QIconDrag : public QDragObject
{
Q_OBJECT
public:
@ -158,7 +152,7 @@ private:
class QIconViewToolTip;
class QIconViewItemPrivate;
class QM_EXPORT_ICONVIEW QIconViewItem : public Qt
class Q_EXPORT QIconViewItem : public Qt
{
friend class QIconView;
friend class QIconViewToolTip;
@ -301,7 +295,7 @@ private:
class QIconViewPrivate; /* don't touch */
class QM_EXPORT_ICONVIEW QIconView : public QScrollView
class Q_EXPORT QIconView : public QScrollView
{
friend class QIconViewItem;
friend class QIconViewPrivate;
@ -528,12 +522,7 @@ private:
DirLeft,
DirRight
};
QIconViewItem* findItem( Direction dir,
const QPoint &amp;relativeTo,
const QRect &amp;searchRect ) const;
bool neighbourItem( Direction dir,
const QPoint &amp;relativeTo,
const QIconViewItem *item ) const;
QIconViewItem* findItem(Direction dir, const QIconViewItem *fromItem) const;
QBitmap mask( QPixmap *pix ) const;
QIconViewPrivate *d;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 363 B

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -652,6 +652,11 @@ public:
Key_LaunchD = 0x10af,
Key_LaunchE = 0x10b0,
Key_LaunchF = 0x10b1,
Key_MonBrightnessUp = 0x010b2,
Key_MonBrightnessDown = 0x010b3,
Key_KeyboardLightOnOff = 0x010b4,
Key_KeyboardBrightnessUp = 0x010b5,
Key_KeyboardBrightnessDown = 0x010b6,
Key_MediaLast = 0x1fff,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

@ -139,6 +139,7 @@ public:
uint containsRef( const type *d ) const
{ return QGList::containsRef((QPtrCollection::Item)d); }
bool replace( uint i, const type *d ) { return QGList::replaceAt( i, (QPtrCollection::Item)d ); }
type *operator[]( uint i ) { return (type *)QGList::at(i); }
type *at( uint i ) { return (type *)QGList::at(i); }
int at() const { return QGList::at(); }
type *current() const { return (type *)QGList::get(); }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 B

After

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 244 B

@ -386,7 +386,7 @@ record.
<a name="x2446"></a> cur.<a href="#insert">insert</a>();
</pre>
<p> In the above example, a cursor is created on the 'prices' table
and a pointer to the insert buffer is aquired using <a href="#primeInsert">primeInsert</a>().
and a pointer to the insert buffer is acquired using <a href="#primeInsert">primeInsert</a>().
Each field's value is set to the desired value and then <a href="#insert">insert</a>()
is called to insert the data into the database. Remember: all edit
operations (insert(), <a href="#update">update</a>() and delete()) operate on the

@ -9858,9 +9858,6 @@
<section ref="datastreamformat.html" title="Format of the QDataStream Operators">
<keyword ref="datastreamformat.html">Format of the QDataStream Operators</keyword>
</section>
<section ref="removed20.html" title="Functions removed in Qt 2.0">
<keyword ref="removed20.html">Functions removed in Qt 2.0</keyword>
</section>
<section ref="motif-walkthrough-1.html" title="Getting Started">
<keyword ref="motif-walkthrough-1.html">Getting Started</keyword>
</section>
@ -10077,9 +10074,6 @@
<section ref="popup-example.html" title="Popup Widgets">
<keyword ref="popup-example.html">Popup Widgets</keyword>
</section>
<section ref="porting2.html" title="Porting to Qt 2.x">
<keyword ref="porting2.html">Porting to Qt 2.x</keyword>
</section>
<section ref="porting.html" title="Porting to Qt 3.x">
<keyword ref="porting.html">Porting to Qt 3.x</keyword>
</section>

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -89,7 +89,7 @@ stylesheet. This makes it possible to embed images. See
"Click this button to open a &lt;em&gt;new file&lt;/em&gt;. &lt;br&gt;"
"You can also select the &lt;b&gt;Open&lt;/b&gt; command "
"from the &lt;b&gt;File&lt;/b&gt; menu.&lt;/p&gt;";
<a name="x2104"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen",
<a name="x2104"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "document-open",
<a name="x2102"></a> fileOpenAction-&gt;<a href="qaction.html#iconSet">iconSet</a>().pixmap() );
<a name="x2103"></a> fileOpenAction-&gt;<a href="qaction.html#setWhatsThis">setWhatsThis</a>( fileOpenText );
</pre>

@ -1177,7 +1177,7 @@ See the <a href="qwidget.html#geometry-prop">"geometry"</a> property for details
<h3 class=fn>void <a name="grabKeyboard"></a>QWidget::grabKeyboard ()
</h3>
Grabs the keyboard input.
<p> This widget reveives all keyboard events until <a href="#releaseKeyboard">releaseKeyboard</a>()
<p> This widget receives all keyboard events until <a href="#releaseKeyboard">releaseKeyboard</a>()
is called; other widgets get no keyboard events at all. Mouse
events are not affected. Use <a href="#grabMouse">grabMouse</a>() if you want to grab that.
<p> The focus widget is not affected, except that it doesn't receive

@ -224,12 +224,6 @@ typedef void (*QtCleanUpFunction)();
Q_EXPORT void qAddPostRoutine( QtCleanUpFunction );
Q_EXPORT void qRemovePostRoutine( QtCleanUpFunction );
#if !defined(QT_CLEAN_NAMESPACE)
// source compatibility with Qt 2.x
typedef QtCleanUpFunction Q_CleanUpFunction;
#endif
#endif // QWINDOWDEFS_H
</pre>
<!-- eof -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

@ -1,379 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/doc/porting2.doc:1096 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions removed in Qt 2.0</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Functions removed in Qt 2.0</h1>
<p> <pre>
<a href="qfiledialog.html#fileHighlighted">QFileDialog::fileHighlighted</a>(const char *)
<a href="qfiledialog.html#fileSelected">QFileDialog::fileSelected</a>(const char *)
<a href="qfiledialog.html#dirEntered">QFileDialog::dirEntered</a>(const char *)
QFileDialog::updatePathBox(const char *)
<a href="qobject.html#name">QObject::name</a>(void) const
<a href="qfiledialog.html#getOpenFileName">QFileDialog::getOpenFileName</a>(const char *, const char *, <a href="qwidget.html">QWidget</a> *, const char *)
<a href="qfiledialog.html#getSaveFileName">QFileDialog::getSaveFileName</a>(const char *, const char *, QWidget *, const char *)
<a href="qfiledialog.html#getExistingDirectory">QFileDialog::getExistingDirectory</a>(const char *, QWidget *, const char *)
<a href="qfiledialog.html#getOpenFileNames">QFileDialog::getOpenFileNames</a>(const char *, const char *, QWidget *, const char *)
<a href="qfiledialog.html#setSelection">QFileDialog::setSelection</a>(const char *)
<a href="qfiledialog.html#setDir">QFileDialog::setDir</a>(const char *)
<a href="qmessagebox.html#setText">QMessageBox::setText</a>(const char *)
<a href="qmessagebox.html#setButtonText">QMessageBox::setButtonText</a>(const char *)
QMessageBox::setButtonText(int, const char *)
<a href="qwidget.html#setStyle">QMessageBox::setStyle</a>(GUIStyle)
<a href="qmessagebox.html#standardIcon">QMessageBox::standardIcon</a>(QMessageBox::Icon, GUIStyle)
<a href="qmessagebox.html#information">QMessageBox::information</a>(<a href="qwidget.html">QWidget</a> *, const char *, const char *, const char *, const char *, const char *, int, int)
QMessageBox::information(QWidget *, const char *, const char *, int, int, int)
<a href="qmessagebox.html#warning">QMessageBox::warning</a>(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
QMessageBox::warning(QWidget *, const char *, const char *, int, int, int)
<a href="qmessagebox.html#critical">QMessageBox::critical</a>(QWidget *, const char *, const char *, const char *, const char *, const char *, int, int)
QMessageBox::critical(QWidget *, const char *, const char *, int, int, int)
<a href="qmessagebox.html#about">QMessageBox::about</a>(QWidget *, const char *, const char *)
<a href="qmessagebox.html#aboutQt">QMessageBox::aboutQt</a>(QWidget *, const char *)
<a href="qmessagebox.html#message">QMessageBox::message</a>(const char *, const char *, const char *, QWidget *, const char *)
<a href="qmessagebox.html#buttonText">QMessageBox::buttonText</a>(void) const
<a href="qmessagebox.html#query">QMessageBox::query</a>(const char *, const char *, const char *, const char *, <a href="qwidget.html">QWidget</a> *, const char *)
<a href="qprogressdialog.html#setLabelText">QProgressDialog::setLabelText</a>(const char *)
<a href="qprogressdialog.html#setCancelButtonText">QProgressDialog::setCancelButtonText</a>(const char *)
<a href="qwidget.html#styleChange">QProgressDialog::styleChange</a>(GUIStyle)
QProgressDialog::init(QWidget *, const char *, const char *, int)
<a href="qtabdialog.html#addTab">QTabDialog::addTab</a>(QWidget *, const char *)
<a href="qtabdialog.html#isTabEnabled">QTabDialog::isTabEnabled</a>(const char *) const
<a href="qtabdialog.html#setTabEnabled">QTabDialog::setTabEnabled</a>(const char *, bool)
<a href="qtabdialog.html#setDefaultButton">QTabDialog::setDefaultButton</a>(const char *)
<a href="qtabdialog.html#setCancelButton">QTabDialog::setCancelButton</a>(const char *)
<a href="qtabdialog.html#setApplyButton">QTabDialog::setApplyButton</a>(const char *)
QTabDialog::setOKButton(const char *)
QTabDialog::setOkButton(const char *)
<a href="qwidget.html#styleChange">QTabDialog::styleChange</a>(GUIStyle)
<a href="qtabdialog.html#selected">QTabDialog::selected</a>(const char *)
<a href="qobject.html#name">QObject::name</a>(void) const
<a href="qapplication.html#setStyle">QApplication::setStyle</a>(GUIStyle)
<a href="qapplication.html#palette">QApplication::palette</a>(void)
<a href="qapplication.html#setPalette">QApplication::setPalette</a>(const <a href="qpalette.html">QPalette</a> &, bool)
<a href="qapplication.html#font">QApplication::font</a>(void)
<a href="qapplication.html#setFont">QApplication::setFont</a>(const <a href="qfont.html">QFont</a> &, bool)
<a href="qbrush.html#setStyle">QBrush::setStyle</a>(BrushStyle)
QBrush::init(const <a href="qcolor.html">QColor</a> &, BrushStyle)
QObject::name(void) const
<a href="qclipboard.html#data">QClipboard::data</a>(const char *) const
<a href="qclipboard.html#setData">QClipboard::setData</a>(const char *, void *)
<a href="qclipboard.html#setText">QClipboard::setText</a>(const char *)
QUrlDrag::decodeLocalFiles(<a href="qdropevent.html">QDropEvent</a> *, <a href="qstrlist.html">QStrList</a> &)
QObject::name(void) const
<a href="qstoreddrag.html#setEncodedData">QStoredDrag::setEncodedData</a>(QArrayT<char> const &)
<a href="qtextdrag.html#setText">QTextDrag::setText</a>(const char *)
<a href="qimagedrag.html#canDecode">QImageDrag::canDecode</a>(<a href="qdragmoveevent.html">QDragMoveEvent</a> *)
<a href="qtextdrag.html#canDecode">QTextDrag::canDecode</a>(QDragMoveEvent *)
QUrlDrag::canDecode(QDragMoveEvent *)
<a href="qimagedrag.html#decode">QImageDrag::decode</a>(QDropEvent *, <a href="qimage.html">QImage</a> &)
QImageDrag::decode(QDropEvent *, <a href="qpixmap.html">QPixmap</a> &)
<a href="qtextdrag.html#decode">QTextDrag::decode</a>(QDropEvent *, <a href="qstring.html">QString</a> &)
QUrlDrag::decode(QDropEvent *, QStrList &)
<a href="qdropevent.html#format">QDragMoveEvent::format</a>(int)
<a href="qdropevent.html#provides">QDragMoveEvent::provides</a>(const char *)
<a href="qdropevent.html#data">QDragMoveEvent::data</a>(const char *)
<a href="qdropevent.html#data">QDropEvent::data</a>(const char *)
QEvent::peErrMsg(void)
<a href="qfont.html#substitute">QFont::substitute</a>(const char *)
<a href="qfont.html#insertSubstitution">QFont::insertSubstitution</a>(const char *, const char *)
<a href="qfont.html#removeSubstitution">QFont::removeSubstitution</a>(const char *)
QFont::load(unsigned int) const
<a href="qfont.html#setFamily">QFont::setFamily</a>(const char *)
<a href="qfont.html#bold">QFont::bold</a>(void) const
<a href="qfont.html#setBold">QFont::setBold</a>(bool)
<a href="qfont.html#handle">QFont::handle</a>(unsigned int) const
QFont::bold(void) const
QFontInfo::font(void) const
QFontInfo::reset(const <a href="qwidget.html">QWidget</a> *)
QFontInfo::type(void) const
<a href="qfontmetrics.html#inFont">QFontMetrics::inFont</a>(char) const
<a href="qfontmetrics.html#leftBearing">QFontMetrics::leftBearing</a>(char) const
<a href="qfontmetrics.html#rightBearing">QFontMetrics::rightBearing</a>(char) const
<a href="qfontmetrics.html#width">QFontMetrics::width</a>(char) const
QFontMetrics::width(const char *, int) const
<a href="qfontmetrics.html#boundingRect">QFontMetrics::boundingRect</a>(char) const
QFontMetrics::boundingRect(const char *, int) const
QFontMetrics::boundingRect(int, int, int, int, int, const char *, int, int, int *, char **) const
<a href="qfontmetrics.html#size">QFontMetrics::size</a>(int, const char *, int, int, int *, char **) const
QFontMetrics::font(void) const
QFontMetrics::reset(const QWidget *)
QFontMetrics::type(void) const
<a href="qobject.html#name">QObject::name</a>(void) const
QGManager::setBorder(int)
QGManager::newSerChain(QGManager::Direction)
QGManager::newParChain(QGManager::Direction)
QGManager::add(QChain *, QChain *, int)
QGManager::addWidget(QChain *, <a href="qwidget.html">QWidget</a> *, int)
QGManager::addSpacing(QChain *, int, int, int)
QGManager::addBranch(QChain *, QChain *, int, int)
QGManager::setStretch(QChain *, int)
QGManager::activate(void)
QGManager::unFreeze(void)
QGManager::xChain(void)
QGManager::yChain(void)
QGManager::setMenuBar(QWidget *)
QGManager::mainWidget(void)
QGManager::remove(QWidget *)
QGManager::setName(QChain *, const char *)
QGManager::eventFilter(<a href="qobject.html">QObject</a> *, <a href="qevent.html">QEvent</a> *)
QGManager::resizeHandle(QWidget *, const <a href="qsize.html">QSize</a> &)
QGManager::resizeAll(void)
<a href="qiconset.html#setPixmap">QIconSet::setPixmap</a>(const char *, QIconSet::Size, QIconSet::Mode)
<a href="qimage.html#imageFormat">QImage::imageFormat</a>(const char *)
<a href="qimageio.html#imageFormat">QImageIO::imageFormat</a>(const char *)
<a href="qimage.html#load">QImage::load</a>(const char *, const char *)
<a href="qimage.html#loadFromData">QImage::loadFromData</a>(QArrayT<char>, const char *)
<a href="qimage.html#save">QImage::save</a>(const char *, const char *) const
<a href="qimageio.html#setFileName">QImageIO::setFileName</a>(const char *)
<a href="qimageio.html#setDescription">QImageIO::setDescription</a>(const char *)
QBoxLayout::addB(<a href="qlayout.html">QLayout</a> *, int)
<a href="qobject.html#name">QObject::name</a>(void) const
QLayout::basicManager(void)
QLayout::verChain(QLayout *)
QLayout::horChain(QLayout *)
QObject::name(void) const
<a href="qobject.html#tr">QObject::tr</a>(const char *) const
<a href="qpaintdevice.html#x11Screen">QPaintDevice::x11Screen</a>(voidQPaintDevice::x11Depth(voidQPaintDevice::x11Cells(voidQPaintDevice::x11Colormap(voidQPaintDevice::x11DefaultColormap(void) <a href="qpaintdevice.html#x11Visual">QPaintDevice::x11Visual</a>(voidQPaintDevice::x11DefaultVisual(void)
<a href="qpainter.html#translate">QPainter::translate</a>(float, float)
<a href="qpainter.html#scale">QPainter::scale</a>(float, float)
<a href="qpainter.html#shear">QPainter::shear</a>(float, float)
<a href="qpainter.html#rotate">QPainter::rotate</a>(float)
<a href="qpainter.html#drawText">QPainter::drawText</a>(const <a href="qpoint.html">QPoint</a> &, const char *, int)
QPainter::drawText(const <a href="qrect.html">QRect</a> &, int, const char *, int, QRect *, char **)
QPainter::drawText(int, int, const char *, int)
QPainter::drawText(int, int, int, int, int, const char *, int, QRect *, char **)
<a href="qpainter.html#boundingRect">QPainter::boundingRect</a>(int, int, int, int, int, const char *, int, char **)
QPainter::testf(unsigned short) const
QPainter::setf(unsigned short)
QPainter::setf(unsigned short, bool)
QPainter::clearf(unsigned short)
<a href="qpainter.html#setPen">QPainter::setPen</a>(PenStyle)
<a href="qpainter.html#setBrush">QPainter::setBrush</a>(BrushStyle)
<a href="qpainter.html#setBackgroundMode">QPainter::setBackgroundMode</a>(BGMode)
<a href="qpen.html#setStyle">QPen::setStyle</a>(PenStyle)
QPen::init(const <a href="qcolor.html">QColor</a> &, unsigned int, PenStyle)
<a href="qpicture.html#load">QPicture::load</a>(const char *)
<a href="qpicture.html#save">QPicture::save</a>(const char *)
QPixmap::isOptimized(void) const
QPixmap::optimize(bool)
QPixmap::isGloballyOptimized(void)
QPixmap::optimizeGlobally(bool)
<a href="qpixmap.html#imageFormat">QPixmap::imageFormat</a>(const char *)
<a href="qpixmap.html#load">QPixmap::load</a>(const char *, const char *, QPixmap::ColorMode)
QPixmap::load(const char *, const char *, int)
<a href="qpixmap.html#loadFromData">QPixmap::loadFromData</a>(QArrayT<char>, const char *, int)
<a href="qpixmap.html#save">QPixmap::save</a>(const char *, const char *) const
<a href="qpixmapcache.html#find">QPixmapCache::find</a>(const char *)
QPixmapCache::find(const char *, <a href="qpixmap.html">QPixmap</a> &)
<a href="qpixmapcache.html#insert">QPixmapCache::insert</a>(const char *, QPixmap *)
QPixmapCache::insert(const char *, const QPixmap &)
<a href="qprinter.html#setPrinterName">QPrinter::setPrinterName</a>(const char *)
<a href="qprinter.html#setOutputFileName">QPrinter::setOutputFileName</a>(const char *)
<a href="qprinter.html#setPrintProgram">QPrinter::setPrintProgram</a>(const char *)
<a href="qprinter.html#setDocName">QPrinter::setDocName</a>(const char *)
<a href="qprinter.html#setCreator">QPrinter::setCreator</a>(const char *)
<a href="qrect.html#setX">QRect::setX</a>(int)
<a href="qrect.html#setY">QRect::setY</a>(int)
QRegion::exec(QArrayT<char> const &)
<a href="qobject.html#name">QObject::name</a>(void) const
QObject::name(void) const
<a href="qsignalmapper.html#setMapping">QSignalMapper::setMapping</a>(const <a href="qobject.html">QObject</a> *, const char *)
<a href="qsignalmapper.html#mapped">QSignalMapper::mapped</a>(const char *)
QObject::name(void) const
QObject::name(void) const
<a href="qwidget.html#setCaption">QWidget::setCaption</a>(const char *)
<a href="qwidget.html#setIconText">QWidget::setIconText</a>(const char *)
<a href="qwidget.html#drawText">QWidget::drawText</a>(const <a href="qpoint.html">QPoint</a> &, const char *)
QWidget::drawText(int, int, const char *)
QWidget::acceptFocus(void) const
QWidget::setAcceptFocus(bool)
<a href="qwidget.html#create">QWidget::create</a>(unsigned int)
QWidget::create(void)
QWidget::internalMove(int, int)
QWidget::internalResize(int, int)
QWidget::internalSetGeometry(int, int, int, int)
QWidget::deferMove(const QPoint &)
QWidget::deferResize(const <a href="qsize.html">QSize</a> &)
QWidget::cancelMove(voidQWidget::cancelResize(voidQWidget::sendDeferredEvents(voidQWidget::setBackgroundColorFromMode(voidQObject::name(void) const <a href="qwidget.html#setMask">QWidget::setMask</a>(QBitmapQWMatrix::setMatrix(float, float, float, float, float, float)
<a href="qwmatrix.html#map">QWMatrix::map</a>(float, float, float *, float *) const
<a href="qwmatrix.html#translate">QWMatrix::translate</a>(float, float)
<a href="qwmatrix.html#scale">QWMatrix::scale</a>(float, float)
<a href="qwmatrix.html#shear">QWMatrix::shear</a>(float, float)
<a href="qwmatrix.html#rotate">QWMatrix::rotate</a>(float)
<a href="qbuffer.html#setBuffer">QBuffer::setBuffer</a>(QArrayT<char>)
<a href="qdir.html#entryList">QDir::entryList</a>(const char *, int, int) const
<a href="qdir.html#entryInfoList">QDir::entryInfoList</a>(const char *, int, int) const
<a href="qdir.html#mkdir">QDir::mkdir</a>(const char *, bool) const
<a href="qdir.html#rmdir">QDir::rmdir</a>(const char *, bool) const
<a href="qdir.html#exists">QDir::exists</a>(const char *, bool)
<a href="qdir.html#remove">QDir::remove</a>(const char *, bool)
<a href="qdir.html#rename">QDir::rename</a>(const char *, const char *, bool)
<a href="qdir.html#setCurrent">QDir::setCurrent</a>(const char *)
<a href="qdir.html#match">QDir::match</a>(const char *, const char *)
<a href="qdir.html#cleanDirPath">QDir::cleanDirPath</a>(const char *)
<a href="qdir.html#isRelativePath">QDir::isRelativePath</a>(const char *)
<a href="qdir.html#setPath">QDir::setPath</a>(const char *)
<a href="qdir.html#filePath">QDir::filePath</a>(const char *, bool) const
<a href="qdir.html#absFilePath">QDir::absFilePath</a>(const char *, bool) const
<a href="qdir.html#convertSeparators">QDir::convertSeparators</a>(const char *)
<a href="qdir.html#cd">QDir::cd</a>(const char *, bool)
<a href="qdir.html#setNameFilter">QDir::setNameFilter</a>(const char *)
<a href="qfile.html#setName">QFile::setName</a>(const char *)
<a href="qfile.html#exists">QFile::exists</a>(const char *)
<a href="qfile.html#remove">QFile::remove</a>(const char *)
<a href="qfileinfo.html#setFile">QFileInfo::setFile</a>(const <a href="qdir.html">QDir</a> &, const char *)
QFileInfo::setFile(const char *)
QFile::exists(const char *)
<a href="qfileinfo.html#extension">QFileInfo::extension</a>(void) const
<a href="qregexp.html#match">QRegExp::match</a>(const char *, int, int *) const
QRegExp::matchstr(unsigned short *, char *, char *) const
QString::resize(unsigned int)
<a href="qstring.html#fill">QString::fill</a>(char, int)
<a href="qstring.html#find">QString::find</a>(const char *, int, bool) const
<a href="qstring.html#findRev">QString::findRev</a>(const char *, int, bool) const
<a href="qstring.html#leftJustify">QString::leftJustify</a>(unsigned int, char, bool) const
<a href="qstring.html#rightJustify">QString::rightJustify</a>(unsigned int, char, bool) const
<a href="qstring.html#insert">QString::insert</a>(unsigned int, const char *)
<a href="qstring.html#append">QString::append</a>(const char *)
<a href="qstring.html#prepend">QString::prepend</a>(const char *)
<a href="qstring.html#replace">QString::replace</a>(const <a href="qregexp.html">QRegExp</a> &, const char *)
QString::replace(unsigned int, unsigned int, const char *)
QString::setStr(const char *)
<a href="qstring.html#setNum">QString::setNum</a>(int)
QString::setNum(unsigned long)
<a href="qstring.html#setExpand">QString::setExpand</a>(unsigned int, char)
<a href="qbutton.html#setText">QButton::setText</a>(const char *)
<a href="qcombobox.html#setEditText">QComboBox::setEditText</a>(const char *)
<a href="qcombobox.html#activated">QComboBox::activated</a>(const char *)
<a href="qcombobox.html#highlighted">QComboBox::highlighted</a>(const char *)
<a href="qcombobox.html#insertItem">QComboBox::insertItem</a>(const char *, int)
<a href="qcombobox.html#changeItem">QComboBox::changeItem</a>(const char *, int)
<a href="qwidget.html#setStyle">QComboBox::setStyle</a>(GUIStyle)
<a href="qcombobox.html#setValidator">QComboBox::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
<a href="qgroupbox.html#setTitle">QGroupBox::setTitle</a>(const char *)
QHeader::moveAround(int, int)
<a href="qheader.html#addLabel">QHeader::addLabel</a>(const char *, int)
<a href="qheader.html#setLabel">QHeader::setLabel</a>(int, const char *, int)
<a href="qheader.html#setOrientation">QHeader::setOrientation</a>(QHeader::Orientation)
<a href="qwidget.html#resizeEvent">QHeader::resizeEvent</a>(<a href="qresizeevent.html">QResizeEvent</a> *QHeader::paintCell(<a href="qpainter.html">QPainter</a> *, int, intQHeader::setupPainter(QPainter *QHeader::cellHeight(intQHeader::cellWidth(int) <a href="qlabel.html#setText">QLabel::setText</a>(const char *QLCDNumber::display(const char *)
<a href="qframe.html#resizeEvent">QLCDNumber::resizeEvent</a>(QResizeEvent *)
QLCDNumber::internalDisplay(const char *)
QLCDNumber::drawString(const char *, QPainter &, <a href="qbitarray.html">QBitArray</a> *, bool)
QLCDNumber::drawDigit(const <a href="qpoint.html">QPoint</a> &, QPainter &, int, char, char)
QLCDNumber::drawSegment(const QPoint &, char, QPainter &, int, bool)
<a href="qwidget.html#event">QLineEdit::event</a>(<a href="qevent.html">QEvent</a> *)
<a href="qlineedit.html#setValidator">QLineEdit::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
<a href="qlineedit.html#validateAndSet">QLineEdit::validateAndSet</a>(const char *, int, int, int)
<a href="qlineedit.html#setText">QLineEdit::setText</a>(const char *)
<a href="qlineedit.html#insert">QLineEdit::insert</a>(const char *)
<a href="qlineedit.html#textChanged">QLineEdit::textChanged</a>(const char *)
<a href="qlistbox.html#insertItem">QListBox::insertItem</a>(const char *, int)
<a href="qlistbox.html#inSort">QListBox::inSort</a>(const char *)
<a href="qlistbox.html#changeItem">QListBox::changeItem</a>(const char *, int)
<a href="qlistbox.html#maxItemWidth">QListBox::maxItemWidth</a>(void)
<a href="qlistbox.html#highlighted">QListBox::highlighted</a>(const char *)
<a href="qlistboxitem.html#setText">QListBoxItem::setText</a>(const char *)
<a href="qlistbox.html#selected">QListBox::selected</a>(const char *)
<a href="qlistviewitem.html#isExpandable">QListViewItem::isExpandable</a>(void)
<a href="qwidget.html#setStyle">QListView::setStyle</a>(GUIStyle)
<a href="qmainwindow.html#addToolBar">QMainWindow::addToolBar</a>(<a href="qtoolbar.html">QToolBar</a> *, const char *, QMainWindow::ToolBarDock, bool)
<a href="qmenudata.html#insertItem">QMenuData::insertItem</a>(const <a href="qpixmap.html">QPixmap</a> &, const <a href="qobject.html">QObject</a> *, const char *, int)
QMenuData::insertItem(const QPixmap &, const char *, <a href="qpopupmenu.html">QPopupMenu</a> *, int, int)
QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int)
QMenuData::insertItem(const QPixmap &, const char *, const QObject *, const char *, int, int, int)
QMenuData::insertItem(const QPixmap &, const char *, int, int)
QMenuData::insertItem(const char *, QPopupMenu *, int, int)
QMenuData::insertItem(const char *, const QObject *, const char *, int)
QMenuData::insertItem(const char *, const QObject *, const char *, int, int, int)
QMenuData::insertItem(const char *, int, int)
<a href="qmenudata.html#changeItem">QMenuData::changeItem</a>(const QPixmap &, const char *, int)
QMenuData::changeItem(const char *, int)
QMenuData::insertAny(const char *, const QPixmap *, QPopupMenu *, int, int)
QMenuItem::setText(const char *)
QMultiLineEdit::textWidth(<a href="qstring.html">QString</a> *)
QMultiLineEdit::repaintAll(void)
QMultiLineEdit::repaintDelayed(void)
<a href="qtextedit.html#setText">QMultiLineEdit::setText</a>(const char *)
<a href="qtextedit.html#append">QMultiLineEdit::append</a>(const char *)
QPopupMenu::itemAtPos(const <a href="qpoint.html">QPoint</a> &)
QPopupMenu::actSig(int)
<a href="qwidget.html#mouseReleaseEvent">QRadioButton::mouseReleaseEvent</a>(<a href="qmouseevent.html">QMouseEvent</a> *)
<a href="qwidget.html#keyPressEvent">QRadioButton::keyPressEvent</a>(<a href="qkeyevent.html">QKeyEvent</a> *)
QRangeControl::adjustValue(void)
<a href="qscrollbar.html#setOrientation">QScrollBar::setOrientation</a>(QScrollBar::Orientation)
<a href="qscrollview.html#horizontalScrollBar">QScrollView::horizontalScrollBar</a>(void)
<a href="qscrollview.html#verticalScrollBar">QScrollView::verticalScrollBar</a>(void)
<a href="qscrollview.html#viewport">QScrollView::viewport</a>(void)
<a href="qslider.html#setOrientation">QSlider::setOrientation</a>(QSlider::Orientation)
<a href="qspinbox.html#setSpecialValueText">QSpinBox::setSpecialValueText</a>(const char *)
<a href="qspinbox.html#setValidator">QSpinBox::setValidator</a>(<a href="qvalidator.html">QValidator</a> *)
<a href="qspinbox.html#valueChanged">QSpinBox::valueChanged</a>(const char *)
<a href="qwidget.html#paletteChange">QSpinBox::paletteChange</a>(const <a href="qpalette.html">QPalette</a> &)
<a href="qwidget.html#enabledChange">QSpinBox::enabledChange</a>(bool)
<a href="qwidget.html#fontChange">QSpinBox::fontChange</a>(const <a href="qfont.html">QFont</a> &)
<a href="qwidget.html#styleChange">QSpinBox::styleChange</a>(GUIStyle)
<a href="qsplitter.html#setOrientation">QSplitter::setOrientation</a>(QSplitter::Orientation)
<a href="qwidget.html#event">QSplitter::event</a>(<a href="qevent.html">QEvent</a> *)
QSplitter::childInsertEvent(<a href="qchildevent.html">QChildEvent</a> *)
QSplitter::childRemoveEvent(QChildEvent *)
<a href="qsplitter.html#moveSplitter">QSplitter::moveSplitter</a>(short)
<a href="qsplitter.html#adjustPos">QSplitter::adjustPos</a>(int)
QSplitter::splitterWidget(void)
QSplitter::startMoving(void)
QSplitter::moveTo(<a href="qpoint.html">QPoint</a>)
QSplitter::stopMoving(void)
QSplitter::newpos(void) const
<a href="qstatusbar.html#message">QStatusBar::message</a>(const char *)
QStatusBar::message(const char *, int)
<a href="qobject.html#name">QObject::name</a>(void) const
<a href="qtooltipgroup.html#showTip">QToolTipGroup::showTip</a>(const char *)
<a href="qtooltip.html#add">QToolTip::add</a>(<a href="qwidget.html">QWidget</a> *, const <a href="qrect.html">QRect</a> &, const char *)
QToolTip::add(QWidget *, const QRect &, const char *, <a href="qtooltipgroup.html">QToolTipGroup</a> *, const char *)
QToolTip::add(QWidget *, const char *)
QToolTip::add(QWidget *, const char *, QToolTipGroup *, const char *)
<a href="qtooltip.html#tip">QToolTip::tip</a>(const QRect &, const char *)
QToolTip::tip(const QRect &, const char *, const char *)
QObject::name(void) const
<a href="qwhatsthis.html#add">QWhatsThis::add</a>(QWidget *, const <a href="qpixmap.html">QPixmap</a> &, const char *, const char *, bool)
QWhatsThis::add(QWidget *, const char *, bool)
<a href="qwhatsthis.html#textFor">QWhatsThis::textFor</a>(QWidget *)
<a href="qwidget.html#event">QWidgetStack::event</a>(<a href="qevent.html">QEvent</a> *)
</pre><p>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 945 B

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

@ -161,7 +161,7 @@ private:
<a name="x1591"></a> QWhatsThis::<a href="qwhatsthis.html#add">add</a>( fileOpen, fileOpenText );
<a name="x1558"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen", openIcon );
<a name="x1558"></a> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "document-open", openIcon );
const char * fileSaveText = "&lt;p&gt;Click this button to save the file you "
"are editing. You will be prompted for a file name.\n"

@ -232,10 +232,10 @@ function, as its mouse interface is unusual.
</pre>
<p> With the above line we add the "What's This?" help-text to the
<em>fileOpen</em> button...
<p> <pre> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "fileopen", openIcon );
<p> <pre> QMimeSourceFactory::<a href="qmimesourcefactory.html#defaultFactory">defaultFactory</a>()-&gt;setPixmap( "document-open", openIcon );
</pre>
<p> ... and tell the rich-text engine that when a help-text (like the one
saved in <em>fileOpenText</em>) requests an image named "fileopen", the <em>openIcon</em> pixmap is used.
saved in <em>fileOpenText</em>) requests an image named "document-open", the <em>openIcon</em> pixmap is used.
<p> <pre> const char * fileSaveText = "&lt;p&gt;Click this button to save the file you "
"are editing. You will be prompted for a file name.\n"
"You can also select the &lt;b&gt;Save&lt;/b&gt; command "

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 982 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 983 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 165 B

@ -74,7 +74,6 @@ File Handling | tutorial2-07.html
Font Displayer | qfd-example.html
Fonts in Qt/Embedded | emb-fonts.html
Format of the QDataStream Operators | datastreamformat.html
Functions removed in Qt 2.0 | removed20.html
GNU General Public License | gpl.html
Getting Started | motif-walkthrough-1.html
Grapher Plugin | grapher-nsplugin-example.html
@ -146,7 +145,6 @@ Pictures of Most Qt Widgets | pictures.html
Play Tetrix! | qaxserver-demo-tetrax.html
Plugins | plugins.html
Popup Widgets | popup-example.html
Porting to Qt 2.x | porting2.html
Porting to Qt 3.x | porting.html
Porting your applications to Qt/Embedded | emb-porting.html
Preparing to Migrate the User Interface | motif-walkthrough-2.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

@ -0,0 +1,48 @@
-------
INSTALL
-------
Those man pages are not yet installed by 'make install'.
They have to be installed in $MANPATH/man1 and in $MANPATH/man3.
(See INSTALL in the top directory).
Example:
If qt3 has been installed in /usr/local and if MANPATH is
/usr/local/share/man, they can be installed with the following commands:
install -m 644 man1/* /usr/local/share/man/man1
install -m 644 man3/* /usr/local/share/man/man3
Change the commands to suit your needs.
----
TODO
----
* installation with qmake.
* optional man pages compression with qmake
-------
ORIGINS
-------
Trolltech-Nokia original sources
(http://get.qt.nokia.com/qt/source/qt-x11-free-3.3.8b.tar.gz)
man1/lrelease.1
man1/lupdate.1
man1/moc.1
man1/uic.1
man3/*
Debian distribution
(http://ftp.de.debian.org/debian/pool/main/q/qt-x11-free/)
qt-x11-free_3.3.8b-11.*
qt-x11-free_3.3.8b.orig.tar.gz
man1/createcw.1
man1/designer.1
man1/findtr.1
man1/linguist.1
man1/makeqpf.1
man1/mergetr.1
man1/msg2qm.1
man1/qembed.1
man1/qtconfig.1
man1/qvfb.1

@ -0,0 +1,57 @@
.TH "createcw" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
createcw \- custom widget description creater for Qt Designer
.SH "SYNTAX"
.LP
createcw <\fIfilename.cw\fP>
.SH "DESCRIPTION"
.LP
This small application makes it much easier to create
custom widget descriptions for the Qt Designer. Using
them you can use custom widgets in the Qt Designer
including their signals, slots and properties.
To do that normally you would have to enter all that
information in the custom widget dialog in the Qt
Designer for each widget. But this small tool can create
for you these description files for your custom widgets
which you then can simply import into the Qt Designer. So
you can use your custom widgets without any additional
work in your forms in the Qt Designer then.
To do that you have to modify the sourcecode (main.cpp) a
bit and recompile it afterwards.
STEP1: Include header files of the widgets for which a
description should be created here. If you have a widget
which is defined in the file mycustomwidget.h in
/home/joedeveloper/src, write here
#include "/home/joedeveloper/src/mycustomwidget.h"
STEP2: Instantiate all widgets for which a description
should be created here and add them to the list wl. If
your custom widget is e.g. called MyCustomWidget you
would write here
Widget w;
w.w = new MyCustomWidget( 0, 0 );
w.include = "mycustomwidget.h";
w.location = "global";
wl.append( w );
After that compile the program, link it with your custom
widget (library or object file) and run it like this:
(unix): ./createcw mywidgets.cw
(win32): createcw mywidgets.cw
After that you can import this description file into the
Qt Designer using the Custom\-Widget Dialog (See
Tools\->Custom\->Edit Custom Widgets... in the Qt Designer)
and use these custom widget there in your forms.
.SH "AUTHORS"
.LP
Troll Tech <http://www.trolltech.com/>

@ -0,0 +1,54 @@
.TH "qt-designer" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
qt\-designer \- Visual user interface designer for Qt.
.SH "DESCRIPTION"
.LP
Qt Designer simplifies the process of designing and
creating graphical user interfaces (GUI) using the
award\-winning Qt toolkit. Qt Designer is easy to learn.
There are tutorials, walkthrough examples and the
reference documentation accelerating you through the
learning phase. After that, Qt Designer greatly reduces
the time and effort needed to develop even the most
complex dialogs with an easy\-to\-use GUI and an integrated
help system.
Qt Designer provides a rich set of features aimed at
making the creation of dialogs as easy and smooth as
possible without reducing the power of Qt. It offers all
the strength of the Qt layout system with a well\-designed
user interface. This, combined with the Qt Designer's
undo/redo system makes it simple to try different
arrangements of the widgets until the result satisfies
you.
Using Qt Designer's convenient property editor along
with the dynamic Qt property system it is easy to set the
initial state of your widgets. Special editors for some
widgets (like listboxes, comboboxes, etc.) allow you to
fill these widgets with content without writing any code.
Using the object hierarchy view, the parent\-child
relationship between the widgets of a dialog can be
understood at a glance.
Integrating dialogs into a Qt project is straightforward
thanks to the User Interface Compiler (UIC), which
generates C++ code from the XML dialog description on the
fly. The programmer can easily extend the functionality
of the generated classes by subclassing without touching
generated code at all or running the risk of loosing
their changes.
.SH "FILES"
.LP
\fI/usr/share/qt/tools/designer/*\fP
.SH "ENVIRONMENT VARIABLES"
.LP
.TP
\fBQTDIR\fP
Specifies the Qt base directory. On Debian systems this
should be set to /usr/share/qt. The /usr/bin/designer
wrapper script takes care of this.
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,25 @@
.TH "findtr" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
findtr \- Extracts information about text to be translated
.SH "SYNTAX"
.LP
findtr *.cpp *.h >myapp.po
.SH "DESCRIPTION"
.LP
Extracts information about text to be translated. It
recognizes the tr() constructs described above and
produces a file in ".po" format, a simple text format
that your translation team will copy and edit. For
example, the base .po file might be myapp.po and
translated versions of the file would then be
myapp_de.po, myapp_fr.po, and myapp_ja.po for
translations in German, French and Japanese respectively.
findtr *.cpp *.h >myapp.po
copy myapp.po myapp_de.po
edit myapp_de.po
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,37 @@
.TH LINGUIST 1 "28 August 2004"
.SH "NAME"
linguist \- Translation tool for Qt.
.SH "SYNOPSIS"
.B linguist
[
.I TRANSLATION
]
.SH "DESCRIPTION"
.B Qt Linguist
is a tool for adding translations to Qt applications. It
introduces the concept of a translation "context" which
means a group of phrases that appear together on the
screen e.g. in the same menu or dialog.
The only parameter accepted on the command line is
.I TRANSLATION
wich is the name of the translation file you wish to open.
.SH FILES
.I ~/.qt/qt_designerrc
.RS
Per user configuration file.
.SH SEE ALSO
.B Qt Linguist
is too complex to be described completely in the "man" page
format. If your system is properly configured, you can access
the full documentation within
.B Qt Linguist
under the Help menu.
.SH AUTHOR
This manual page was written by Jeremy Laine <jeremy.laine@m4x.org>,
for the Debian GNU/Linux system (but may be used by others).

@ -98,4 +98,4 @@ lrelease gnomovision_*.ts
.SH "SEE ALSO"
.BR lupdate (1)
and
.BR http://doc.trolltech.com/i18n.html
.BR https://trinitydesktop.org/docs/qt3/i18n.html

@ -104,4 +104,4 @@ lupdate *.cpp *.h *.ui -ts gnomovision_dk.ts
.SH "SEE ALSO"
.BR lrelease (1)
and
.BR http://doc.trolltech.com/i18n.html
.BR https://trinitydesktop.org/docs/qt3/i18n.html

@ -0,0 +1,33 @@
.TH "makeqpf" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
makeqpf \- Create qpf files from TTF and BDF files.
.SH "DESCRIPTION"
.LP
Qt Prerendered Font (QPF) is a light\-weight non\-scalable
font format specific to Qt/Embedded. makeqpf is a tool
that assists producing QPF files from TTF and BDF files.
.SH "SYNTAX"
.LP
makeqpf [ \fI\-A\fP ] [ \fI\-f spec\-file \fP] [ \fIfont ... \fP]
\-A
Render and save all fonts in fontdir
.br
\-f spec\-file
File of lines:
fontname character-ranges
eg.
smoothtimes 0\-ff,20a0\-20af
.br
font
Font to render and save
.SH "FILES"
.LP
\fI$(QTDIR)/lib/fonts/fontdir\fP
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,27 @@
.TH "mergetr" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
mergetr \- Merge changes in translations
.SH "SYNTAX"
.LP
mergetr myapp_de.po myapp.po
.SH "DESCRIPTION"
.LP
When the texts in your program change as it is developed,
a the base .po file can be regenerated using findtr,
then mergetr can be used to merge the changes into the
other .po files:
mergetr myapp_de.po myapp.po
mergetr myapp_fr.po myapp.po
mergetr myapp_ja.po myapp.po
The translation team then edits the new .po files to
translate the new or changed texts. When texts change,
the old text is included in the .po file as a comment to
guide the new translation (no "fuzzy" matching is done).
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -34,7 +34,7 @@ when required, so you will not need to use the
directly.
.PP
In brief, the meta object system is a structure used by Qt (see
.BR http://doc.trolltech.com ")"
.BR https://trinitydesktop.org/docs/qt3/ ")"
for component programming and run time type information. It adds
properties and inheritance information to (some) classes and
provides a new type of communication between those instances of those
@ -446,4 +446,4 @@ public:
.SH "SEE ALSO"
.BR http://www.trolltech.com ", "
.BR "C++ ARM, section r.11.3" " (for the answer to the quiz), and"
.BR http://doc.trolltech.com " (for complete Qt documentation)."
.BR https://trinitydesktop.org/docs/qt3/ " (for complete Qt documentation)."

@ -0,0 +1,26 @@
.TH "msg2qm" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
msg2qm \- Converts translated .po files to a Qt\-specific binary format.
.SH "SYNTAX"
.LP
msg2qm myapp_de.po myapp_de.qm
.SH "DESCRIPTION"
.LP
Converts translated .po files to a Qt\-specific binary
format (".qm" Qt message files). The Qt message files
are platform and locale independent, containing
translations in Unicode and various hash tables to
provide fast look\-up.
msg2qm myapp_de.po myapp_de.qm
msg2qm myapp_fr.po myapp_fr.qm
msg2qm myapp_ja.po myapp_ja.qm
In your application, use QTranslator::load() to load
translation files appropriate for the user's language.
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,32 @@
.TH "qembed" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
qembed \- Converts arbitrary files into C++ code.
.SH "DESCRIPTION"
.LP
The QEmbed tool, found in qt/tools/qembed, converts
arbitrary files into C++ code. This is useful for
including image files and other resources directly into
your application rather than loading the data from
external files.
QEmbed can also generate uncompressed versions of images
that can be included directly into your application,
thus avoiding both the external file and the need to
parse the image file format. This is useful for small
images such as icons for which compression is not a
great gain.
.SH "SYNTAX"
qembed [ \fIgeneral\-files\fP ] <[ \fI\-\-images image\-files \fP]>
.br
general\-files
These files can be any type of file.
\-\-images image\-files
These files must be in image formats supported by Qt.
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,17 @@
.TH "qtconfig" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
qtconfig \- Configuration tool for Qt
.SH "DESCRIPTION"
.LP
QConfig allows for GUI based configuration of Qt and
other Qt based sources.
.SH "ENVIRONMENT VARIABLES"
.LP
.TP
\fBQTDIR\fP
Specifies the base Qt dir
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -0,0 +1,66 @@
.TH "qvfb" "1" "3.0.3" "Troll Tech AS, Norway." ""
.SH "NAME"
.LP
qvfb \- Virtual framebuffer for Qt
.SH "DESCRIPTION"
.LP
The virtual framebuffer allows Qt/Embedded programs to be
developed on your desktop machine, without switching
between consoles and X11.
Start a Qt/Embedded master application (i.e., construct
QApplication with QApplication::GuiServer flag or use the
\-qws command line parameter). You will need to specify to
the server that you wish to use the virtual framebuffer
driver, e.g.:
widgets \-qws \-display QVFb:0
You may prefer to set the QWS_DISPLAY environment
variable to be QVFb:0.
qvfb supports the following command line options:
\-width width: the width of the virtual framebuffer
(default: 240).
\-height height: the height of the virtual framebuffer
(default: 320).
\-depth depth: the depth of the virtual framebuffer (1, 8
or 32; default: 8).
\-nocursor: do not display the X11 cursor in the
framebuffer window.
\-qwsdisplay :id the Qt/Embedded display id to provide
(default: 0).
Virtual Framebuffer Design
The virtual framebuffer emulates a framebuffer using a
shared memory region (the virtual frame buffer) and a
utility to display the framebuffer in a window (qvfb).
The regions of the display that have changed are updated
periodically, so you will see discrete snapshots of the
framebuffer rather than each individual drawing
operation. For this reason drawing problems such as
flickering may not be apparent until the program is run
using a real framebuffer.
The target refresh rate can be set via the "View|Refresh
Rate" menu item. This will cause qvfb to check for
updated regions more quickly. The rate is a target only.
If little drawing is being done, the framebuffer will not
show any updates between drawing events. If an
application is displaying an animation the updates will
be frequent, and the application and qvfb will compete
for processor time.
Mouse and keyboard events are passed to the Qt/Embedded
master process via named pipes.
The virtual framebuffer is a development tool only. No
security issues have been considered in the virtual
framebuffer design. It should be avoided in a production
environment; QT_NO_QWS_VFB should always be defined in
production libraries.
.SH "AUTHORS"
.LP
TrollTech <http://www.trolltech.com/>

@ -131,6 +131,6 @@ doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if
you prefer.)
.PP
.SH "SEE ALSO"
.BR http://www.trolltech.com/ " "
.BR https://trinitydesktop.org/docs/qt3/ " "
.SH AUTHOR
Trolltech ASA <info@trolltech.com>

@ -376,7 +376,7 @@ If \fIinvalidate\fR is TRUE (the default), the cursor will no longer be position
cur.insert();
.fi
.PP
In the above example, a cursor is created on the 'prices' table and a pointer to the insert buffer is aquired using primeInsert(). Each field's value is set to the desired value and then insert() is called to insert the data into the database. Remember: all edit operations (insert(), update() and delete()) operate on the contents of the cursor edit buffer and not on the contents of the cursor itself.
In the above example, a cursor is created on the 'prices' table and a pointer to the insert buffer is acquired using primeInsert(). Each field's value is set to the desired value and then insert() is called to insert the data into the database. Remember: all edit operations (insert(), update() and delete()) operate on the contents of the cursor edit buffer and not on the contents of the cursor itself.
.PP
See also setMode() and lastError().
.SH "bool QSqlCursor::isCalculated ( const QString & name ) const"

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -165,13 +165,10 @@ previously disabled, please check these macro variables:
\i \c CHECK_MATH becomes \c QT_CHECK_MATH
\endlist
The name of some debugging macro functions has been changed as well
but source compatibility should not be affected if the macro variable
\c QT_CLEAN_NAMESPACE is not defined:
The name of some debugging macro functions has been changed:
\list
\i \c ASSERT becomes \c Q_ASSERT
\i \c CHECK_PTR becomes \c Q_CHECK_PTR
\endlist
For the record, undocumented macro variables that are not part of the API

@ -57,7 +57,7 @@ ApplicationWindow::ApplicationWindow()
"Click this button to open a <em>new file</em>. <br>"
"You can also select the <b>Open</b> command "
"from the <b>File</b> menu.</p>";
QMimeSourceFactory::defaultFactory()->setPixmap( "fileopen",
QMimeSourceFactory::defaultFactory()->setPixmap( "document-open",
fileOpenAction->iconSet().pixmap() );
fileOpenAction->setWhatsThis( fileOpenText );

@ -67,7 +67,7 @@ ApplicationWindow::ApplicationWindow()
QWhatsThis::add( fileOpen, fileOpenText );
QMimeSourceFactory::defaultFactory()->setPixmap( "fileopen", openIcon );
QMimeSourceFactory::defaultFactory()->setPixmap( "document-open", openIcon );
const char * fileSaveText = "<p>Click this button to save the file you "
"are editing. You will be prompted for a file name.\n"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

@ -3,7 +3,6 @@ TARGET = demo
CONFIG += qt warn_off release
unix:LIBS += -lm
DEFINES += QT_INTERNAL_ICONVIEW
DEFINES += QT_INTERNAL_WORKSPACE
DEFINES += QT_INTERNAL_CANVAS
INCLUDEPATH += .

@ -106,7 +106,7 @@ float noise3(float vec[3])
{
int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
float rx0, rx1, ry0, ry1, rz0, rz1, *q, sy, sz, a, b, c, d, t, u, v;
register int i, j;
int i, j;
if (start) {
start = 0;

@ -7,8 +7,6 @@
**
*****************************************************************************/
#define QT_CLEAN_NAMESPACE // avoid clashes with Xmd.h
#include <qstringlist.h>
#include <qgl.h>
#include "glinfo.h"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 B

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 B

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 B

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 742 B

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 B

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

After

Width:  |  Height:  |  Size: 800 B

@ -53,7 +53,7 @@ void poly()
int head = 0;
int tail = -maxcurves + 2;
QPointArray *a = new QPointArray[ maxcurves ];
register QPointArray *p;
QPointArray *p;
QRect r = d->rect(); // desktop rectangle
int i;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

After

Width:  |  Height:  |  Size: 811 B

@ -9,10 +9,10 @@ REQUIRES = full-config
HEADERS = mywidget.h
SOURCES = main.cpp \
mywidget.cpp
TRANSLATIONS = mywidget_cs.ts \
TRANSLATIONS = mywidget.ts \
mywidget_cs.ts \
mywidget_de.ts \
mywidget_el.ts \
mywidget_en.ts \
mywidget_eo.ts \
mywidget_fr.ts \
mywidget_it.ts \

@ -1,73 +1,71 @@
<!DOCTYPE TS><TS>
<!-- Translation achieved by Arabeyes Project (http://www.arabeyes.org) -->
<!-- Translator(s): -->
<!-- Youcef Rabah Rahal <rahal@arabeyes.org> -->
<context>
<name>MyWidget</name>
<message>
<source>E&amp;xit...</source>
<translation type="obsolete">&amp;Esci...</translation>
</message>
<message>
<source>First</source>
<translation>Ø£Ù^Ù?</translation>
<translation>الأوّل</translation>
</message>
<message>
<source>Internationalization Example</source>
<translation>Ù?ثاÙ? اÙ?تدÙ^ÙSÙ?</translation>
<translation>مثال عن التّدويل</translation>
</message>
<message>
<source>Isometric</source>
<translation>Ù?تÙ?اثÙ?</translation>
<translation>متساوي المقاييس</translation>
</message>
<message>
<source>Language: English</source>
<translation>اÙ?Ù?غة: اÙ?عربÙSØ©</translation>
<translation>اللّغة: عربية</translation>
</message>
<message>
<source>Oblique</source>
<translation>Ù?صÙ?ت</translation>
<translation>مائل</translation>
</message>
<message>
<source>Perspective</source>
<translation>Ù?Ù?ظÙ^ر</translation>
<translation>منظور</translation>
</message>
<message>
<source>Second</source>
<translation type="unfinished">ثاÙ?Ù?</translation>
<translation>الثّاني</translation>
</message>
<message>
<source>The Main Window</source>
<translation type="unfinished">اÙ?Ù?اÙ?ذة اÙ?رئÙSسÙSØ©</translation>
<translation>النّافذة الرّئيسية</translation>
</message>
<message>
<source>Third</source>
<translation type="unfinished">ثاÙ?Ø«</translation>
<translation>الثّالث</translation>
</message>
<message>
<source>View</source>
<translation type="unfinished">Ù?رئÙ?</translation>
<translation>منظر</translation>
</message>
<message>
<source>E&amp;xit</source>
<translation type="unfinished"></translation>
<translation>&amp;خروج</translation>
</message>
<message>
<source>Ctrl+Q</source>
<translation type="unfinished"></translation>
<translation>تحكّم+Q</translation>
</message>
<message>
<source>&amp;File</source>
<translation type="unfinished"></translation>
<translation>&amp;ملفّ</translation>
</message>
</context>
<context>
<name>QVDialog</name>
<message>
<source>OK</source>
<translation type="unfinished"></translation>
<translation>موافقة</translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished"></translation>
<translation>إلغاء</translation>
</message>
</context>
</TS>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

@ -41,113 +41,112 @@ MetalStyle::MetalStyle() : QWindowsStyle() { }
/*!
Reimplementation from QStyle
*/
void MetalStyle::polish( QApplication *app)
void MetalStyle::applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
oldPalette = app->palette();
// we simply create a nice QColorGroup with a couple of fancy
// pixmaps here and apply to it all widgets
QFont f("times", app->font().pointSize() );
f.setBold( TRUE );
f.setItalic( TRUE );
app->setFont( f, TRUE, "QMenuBar");
app->setFont( f, TRUE, "QPopupMenu");
// QPixmap button( stonedark_xpm );
QColor gold("#B9B9A5A54040"); //same as topgrad below
QPixmap button( 1, 1 ); button.fill( gold );
QPixmap background(marble_xpm);
QPixmap dark( 1, 1 ); dark.fill( red.dark() );
QPixmap mid( stone1_xpm );
QPixmap light( stone1_xpm );//1, 1 ); light.fill( green );
QPalette op = app->palette();
QColor backCol( 227,227,227 );
// QPalette op(white);
QColorGroup active (op.active().foreground(),
QBrush(op.active().button(),button),
QBrush(op.active().light(), light),
QBrush(op.active().dark(), dark),
QBrush(op.active().mid(), mid),
op.active().text(),
Qt::white,
op.active().base(),// QColor(236,182,120),
QBrush(backCol, background)
);
active.setColor( QColorGroup::ButtonText, Qt::white );
active.setColor( QColorGroup::Shadow, Qt::black );
QColorGroup disabled (op.disabled().foreground(),
QBrush(op.disabled().button(),button),
QBrush(op.disabled().light(), light),
op.disabled().dark(),
QBrush(op.disabled().mid(), mid),
op.disabled().text(),
Qt::white,
op.disabled().base(),// QColor(236,182,120),
QBrush(backCol, background)
);
QPalette newPalette( active, disabled, active );
app->setPalette( newPalette, TRUE );
oldPalette = ceData.palette;
// we simply create a nice QColorGroup with a couple of fancy
// pixmaps here and apply to it all widgets
QFont f("times", ceData.font.pointSize() );
f.setBold( TRUE );
f.setItalic( TRUE );
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetFont, QStyleApplicationActionRequestData(f, TRUE, "QMenuBar"));
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetFont, QStyleApplicationActionRequestData(f, TRUE, "QPopupMenu"));
// QPixmap button( stonedark_xpm );
QColor gold("#B9B9A5A54040"); //same as topgrad below
QPixmap button( 1, 1 ); button.fill( gold );
QPixmap background(marble_xpm);
QPixmap dark( 1, 1 ); dark.fill( red.dark() );
QPixmap mid( stone1_xpm );
QPixmap light( stone1_xpm );//1, 1 ); light.fill( green );
QPalette op = ceData.palette;
QColor backCol( 227,227,227 );
// QPalette op(white);
QColorGroup active (op.active().foreground(),
QBrush(op.active().button(),button),
QBrush(op.active().light(), light),
QBrush(op.active().dark(), dark),
QBrush(op.active().mid(), mid),
op.active().text(),
Qt::white,
op.active().base(),// QColor(236,182,120),
QBrush(backCol, background)
);
active.setColor( QColorGroup::ButtonText, Qt::white );
active.setColor( QColorGroup::Shadow, Qt::black );
QColorGroup disabled (op.disabled().foreground(),
QBrush(op.disabled().button(),button),
QBrush(op.disabled().light(), light),
op.disabled().dark(),
QBrush(op.disabled().mid(), mid),
op.disabled().text(),
Qt::white,
op.disabled().base(),// QColor(236,182,120),
QBrush(backCol, background)
);
QPalette newPalette( active, disabled, active );
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(newPalette, TRUE));
}
/*!
Reimplementation from QStyle
*/
void MetalStyle::unPolish( QApplication *app)
void MetalStyle::applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
app->setPalette(oldPalette, TRUE);
app->setFont( app->font(), TRUE );
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(oldPalette, TRUE));
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetFont, QStyleApplicationActionRequestData(ceData.font, TRUE));
}
/*!
Reimplementation from QStyle
*/
void MetalStyle::polish( QWidget* w)
void MetalStyle::polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if (w->inherits("QPushButton")){
w->setBackgroundMode( QWidget::NoBackground );
return;
}
if ( !w->isTopLevel() ) {
if ( w->backgroundPixmap() )
w->setBackgroundOrigin( QWidget::WindowOrigin );
}
if (ceData.widgetObjectTypes.contains("QPushButton")) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundMode, QStyleWidgetActionRequestData(QWidget::NoBackground));
return;
}
if ( !(elementFlags & CEF_IsTopLevel) ) {
if ( !ceData.bgPixmap.isNull() ) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundOrigin, QStyleWidgetActionRequestData(QWidget::WindowOrigin));
}
}
}
void MetalStyle::unPolish( QWidget* w)
void MetalStyle::unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if (w->inherits("QPushButton")){
w->setBackgroundMode( QWidget::PaletteButton );
return;
}
if ( !w->isTopLevel() ) {
if ( w->backgroundPixmap() )
w->setBackgroundOrigin( QWidget::WidgetOrigin );
}
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if (ceData.widgetObjectTypes.contains("QPushButton")) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundMode, QStyleWidgetActionRequestData(QWidget::PaletteButton));
return;
}
if ( !(elementFlags & CEF_IsTopLevel) ) {
if ( !ceData.bgPixmap.isNull() ) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundOrigin, QStyleWidgetActionRequestData(QWidget::WidgetOrigin));
}
}
}
void MetalStyle::drawPrimitive( PrimitiveElement pe,
QPainter *p,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags flags, const QStyleOption& opt ) const
@ -170,13 +169,13 @@ void MetalStyle::drawPrimitive( PrimitiveElement pe,
drawMetalButton( p, r.x(), r.y(), r.width(), r.height(),
flags & Style_Down, !( flags & Style_Horizontal ) );
drawPrimitive( (flags & Style_Horizontal) ? PE_ArrowRight :PE_ArrowDown,
p, r, cg, flags, opt );
p, ceData, elementFlags, r, cg, flags, opt );
break;
case PE_ScrollBarSubLine:
drawMetalButton( p, r.x(), r.y(), r.width(), r.height(),
flags & Style_Down, !( flags & Style_Horizontal ) );
drawPrimitive( (flags & Style_Horizontal) ? PE_ArrowLeft : PE_ArrowUp,
p, r, cg, flags, opt );
p, ceData, elementFlags, r, cg, flags, opt );
break;
@ -185,24 +184,24 @@ void MetalStyle::drawPrimitive( PrimitiveElement pe,
flags & Style_Horizontal );
break;
default:
QWindowsStyle::drawPrimitive( pe, p, r, cg, flags, opt );
QWindowsStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
break;
}
}
void MetalStyle::drawControl( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
{
const QPushButton *btn;
btn = (const QPushButton*)widget;
int x1, y1, x2, y2;
r.coords( &x1, &y1, &x2, &y2 );
@ -212,14 +211,14 @@ void MetalStyle::drawControl( ControlElement element,
QBrush fill;
if ( btn->isDown() )
if ( elementFlags & CEF_IsDown )
fill = cg.brush( QColorGroup::Mid );
else if ( btn->isOn() )
else if ( elementFlags & CEF_IsOn )
fill = QBrush( cg.mid(), Dense4Pattern );
else
fill = cg.brush( QColorGroup::Button );
if ( btn->isDefault() ) {
if ( elementFlags & CEF_IsDefault ) {
QPointArray a;
a.setPoints( 9,
x1, y1, x2, y1, x2, y2, x1, y2, x1, y1+1,
@ -232,23 +231,23 @@ void MetalStyle::drawControl( ControlElement element,
y2 -= 2;
}
SFlags flags = Style_Default;
if ( btn->isOn() )
if ( elementFlags & CEF_IsOn )
flags |= Style_On;
if ( btn->isDown() )
if ( elementFlags & CEF_IsDown )
flags |= Style_Down;
if ( !btn->isFlat() && !btn->isDown() )
if ( !(elementFlags & CEF_IsFlat) && !(elementFlags & CEF_IsDown) )
flags |= Style_Raised;
drawPrimitive( PE_ButtonCommand, p,
drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags,
QRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
cg, flags, opt );
if ( btn->isMenuButton() ) {
if ( (elementFlags & CEF_IsMenuWidget) ) {
flags = Style_Default;
if ( btn->isEnabled() )
if ( elementFlags & CEF_IsEnabled )
flags |= Style_Enabled;
int dx = ( y1 - y2 - 4 ) / 3;
drawPrimitive( PE_ArrowDown, p,
drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
QRect(x2 - dx, dx, y1, y2 - y1),
cg, flags, opt );
}
@ -258,8 +257,6 @@ void MetalStyle::drawControl( ControlElement element,
}
case CE_PushButtonLabel:
{
const QPushButton *btn;
btn = (const QPushButton*)widget;
int x, y, w, h;
r.rect( &x, &y, &w, &h );
@ -267,9 +264,9 @@ void MetalStyle::drawControl( ControlElement element,
r.coords( &x1, &y1, &x2, &y2 );
int dx = 0;
int dy = 0;
if ( btn->isMenuButton() )
if ( (elementFlags & CEF_IsMenuWidget) )
dx = ( y2 - y1 ) / 3;
if ( btn->isOn() || btn->isDown() ) {
if ( (elementFlags & CEF_IsOn) || (elementFlags & CEF_IsDown) ) {
dx--;
dy--;
}
@ -281,64 +278,62 @@ void MetalStyle::drawControl( ControlElement element,
h -= 4;
drawItem( p, QRect( x, y, w, h ),
AlignCenter|ShowPrefix,
cg, btn->isEnabled(),
btn->pixmap(), btn->text(), -1,
(btn->isDown() || btn->isOn())? &cg.brightText() : &cg.buttonText() );
cg, (elementFlags & CEF_IsEnabled),
(ceData.fgPixmap.isNull())?NULL:&ceData.fgPixmap, ceData.text, -1,
((elementFlags & CEF_IsDown) || (elementFlags & CEF_IsOn))? &cg.brightText() : &cg.buttonText() );
if ( dx || dy )
p->translate( -dx, -dy );
break;
}
default:
QWindowsStyle::drawControl( element, p, widget, r, cg, how, opt );
QWindowsStyle::drawControl( element, p, ceData, elementFlags, r, cg, how, opt, widget );
break;
}
}
void MetalStyle::drawComplexControl( ComplexControl cc,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how,
SCFlags sub,
SCFlags subActive,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
switch ( cc ) {
case CC_Slider:
{
const QSlider *slider = ( const QSlider* ) widget;
QRect handle = querySubControlMetrics( CC_Slider, widget,
SC_SliderHandle, opt);
QRect handle = querySubControlMetrics( CC_Slider, ceData, elementFlags,
SC_SliderHandle, opt, widget);
if ( sub & SC_SliderGroove )
QWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how,
SC_SliderGroove, subActive, opt );
QWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how,
SC_SliderGroove, subActive, opt, widget );
if ( (sub & SC_SliderHandle) && handle.isValid() )
drawMetalButton( p, handle.x(), handle.y(), handle.width(),
handle.height(), FALSE,
slider->orientation() == QSlider::Horizontal);
ceData.orientation == QSlider::Horizontal);
break;
}
case CC_ComboBox:
{
// not exactly correct...
const QComboBox *cmb = ( const QComboBox* ) widget;
qDrawWinPanel( p, r.x(), r.y(), r.width(), r.height(), cg, TRUE,
cmb->isEnabled() ? &cg.brush( QColorGroup::Base ) :
(elementFlags & CEF_IsEnabled) ? &cg.brush( QColorGroup::Base ) :
&cg.brush( QColorGroup::Background ) );
drawMetalButton( p, r.x() + r.width() - 2 - 16, r.y() + 2, 16, r.height() - 4,
how & Style_Sunken, TRUE );
drawPrimitive( PE_ArrowDown, p,
drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
QRect( r.x() + r.width() - 2 - 16 + 2,
r.y() + 2 + 2, 16 - 4, r.height() - 4 -4 ),
cg,
cmb->isEnabled() ? Style_Enabled : Style_Default,
(elementFlags & CEF_IsEnabled) ? Style_Enabled : Style_Default,
opt );
break;
}
default:
QWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how, sub, subActive,
opt );
QWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how, sub, subActive,
opt, widget );
break;
}
}
@ -473,13 +468,13 @@ void MetalStyle::drawMetalGradient( QPainter *p, int x, int y, int w, int h,
int MetalStyle::pixelMetric( PixelMetric metric, const QWidget *w ) const
int MetalStyle::pixelMetric( PixelMetric metric, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QWidget *w ) const
{
switch ( metric ) {
case PM_MenuBarFrameWidth:
return 2;
default:
return QWindowsStyle::pixelMetric( metric, w );
return QWindowsStyle::pixelMetric( metric, ceData, elementFlags, w );
}
}

@ -26,13 +26,15 @@ class MetalStyle : public QWindowsStyle
{
public:
MetalStyle();
void polish( QApplication*);
void unPolish( QApplication*);
void polish( QWidget* );
void unPolish( QWidget* );
void applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void drawPrimitive( PrimitiveElement pe,
QPainter *p,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags flags = Style_Default,
@ -40,22 +42,26 @@ public:
void drawControl( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how = Style_Default,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
void drawComplexControl( ComplexControl cc,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how = Style_Default,
SCFlags sub = SC_All,
SCFlags subActive = SC_None,
const QStyleOption& = QStyleOption::Default ) const;
int pixelMetric( PixelMetric, const QWidget * ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
int pixelMetric( PixelMetric, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QWidget * = 0 ) const;
private:

@ -769,156 +769,154 @@ NorwegianWoodStyle::NorwegianWoodStyle() : QWindowsStyle()
/*!
Reimplementation from QStyle
*/
void NorwegianWoodStyle::polish( QApplication *app)
void NorwegianWoodStyle::applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
oldPalette = app->palette();
// we simply create a nice QColorGroup with a couple of fancy wood
// pixmaps here and apply to it all widgets
QImage img(button_xpm);
QImage orig = img;
orig.detach();
QPixmap button;
button.convertFromImage(img);
int i;
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(120).rgb();
img.setColor(i,rgb);
}
QPixmap mid;
mid.convertFromImage(img);
img = orig;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.light().rgb();
img.setColor(i,rgb);
}
QPixmap light;
light.convertFromImage(img);
img = orig;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(180).rgb();
img.setColor(i,rgb);
}
QPixmap dark;
dark.convertFromImage(img);
QImage bgimage(polish_xpm);
QPixmap background;
background.convertFromImage(bgimage);
img = bgimage;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(180).rgb();
img.setColor(i,rgb);
}
sunkenDark = new QPixmap;
sunkenDark->convertFromImage(img);
img = bgimage;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.light(130).rgb();
img.setColor(i,rgb);
}
sunkenLight= new QPixmap;
sunkenLight->convertFromImage(img);
QPalette op(QColor(212,140,95));
// QPalette op(white);
QColorGroup active (op.active().foreground(),
QBrush(op.active().button(),button),
QBrush(op.active().light(), light),
QBrush(op.active().dark(), dark),
QBrush(op.active().mid(), mid),
op.active().text(),
Qt::white,
QColor(236,182,120),
QBrush(op.active().background(), background)
);
QColorGroup disabled (op.disabled().foreground(),
QBrush(op.disabled().button(),button),
QBrush(op.disabled().light(), light),
op.disabled().dark(),
QBrush(op.disabled().mid(), mid),
op.disabled().text(),
Qt::white,
QColor(236,182,120),
QBrush(op.disabled().background(), background)
);
app->setPalette(QPalette(active, disabled, active), TRUE );
oldPalette = ceData.palette;
// we simply create a nice QColorGroup with a couple of fancy wood
// pixmaps here and apply to it all widgets
QImage img(button_xpm);
QImage orig = img;
orig.detach();
QPixmap button;
button.convertFromImage(img);
int i;
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(120).rgb();
img.setColor(i,rgb);
}
QPixmap mid;
mid.convertFromImage(img);
img = orig;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.light().rgb();
img.setColor(i,rgb);
}
QPixmap light;
light.convertFromImage(img);
img = orig;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(180).rgb();
img.setColor(i,rgb);
}
QPixmap dark;
dark.convertFromImage(img);
QImage bgimage(polish_xpm);
QPixmap background;
background.convertFromImage(bgimage);
img = bgimage;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.dark(180).rgb();
img.setColor(i,rgb);
}
sunkenDark = new QPixmap;
sunkenDark->convertFromImage(img);
img = bgimage;
img.detach();
for (i=0; i<img.numColors(); i++) {
QRgb rgb = img.color(i);
QColor c(rgb);
rgb = c.light(130).rgb();
img.setColor(i,rgb);
}
sunkenLight= new QPixmap;
sunkenLight->convertFromImage(img);
QPalette op(QColor(212,140,95));
// QPalette op(white);
QColorGroup active (op.active().foreground(),
QBrush(op.active().button(),button),
QBrush(op.active().light(), light),
QBrush(op.active().dark(), dark),
QBrush(op.active().mid(), mid),
op.active().text(),
Qt::white,
QColor(236,182,120),
QBrush(op.active().background(), background)
);
QColorGroup disabled (op.disabled().foreground(),
QBrush(op.disabled().button(),button),
QBrush(op.disabled().light(), light),
op.disabled().dark(),
QBrush(op.disabled().mid(), mid),
op.disabled().text(),
Qt::white,
QColor(236,182,120),
QBrush(op.disabled().background(), background)
);
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(QPalette(active, disabled, active), TRUE));
}
void NorwegianWoodStyle::unPolish( QApplication *app)
void NorwegianWoodStyle::applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
app->setPalette(oldPalette, TRUE);
applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(oldPalette, TRUE));
}
/*!
Reimplementation from QStyle
*/
void NorwegianWoodStyle::polish( QWidget* w)
void NorwegianWoodStyle::polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if ( !w->isTopLevel() ) {
if ( w->inherits("QPushButton")
|| w->inherits("QToolButton")
|| w->inherits("QComboBox") ) {
w->setAutoMask( TRUE );
return;
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if ( !(elementFlags & CEF_IsTopLevel) ) {
if ( (ceData.widgetObjectTypes.contains("QPushButton")) || (ceData.widgetObjectTypes.contains("QToolButton")) || (ceData.widgetObjectTypes.contains("QComboBox")) ) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetAutoMask);
return;
}
if (!ceData.bgPixmap.isNull()) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundOrigin, QStyleWidgetActionRequestData(QWidget::WindowOrigin));
}
}
if ( w->backgroundPixmap() )
w->setBackgroundOrigin( QWidget::WindowOrigin );
}
}
void NorwegianWoodStyle::unPolish( QWidget* w)
void NorwegianWoodStyle::unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr )
{
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if ( !w->isTopLevel() ) {
if ( w->inherits("QPushButton")
|| w->inherits("QToolButton")
|| w->inherits("QComboBox") ) {
w->setAutoMask( FALSE );
return;
// the polish function sets some widgets to transparent mode and
// some to translate background mode in order to get the full
// benefit from the nice pixmaps in the color group.
if ( !(elementFlags & CEF_IsTopLevel) ) {
if ( (ceData.widgetObjectTypes.contains("QPushButton")) || (ceData.widgetObjectTypes.contains("QToolButton")) || (ceData.widgetObjectTypes.contains("QComboBox")) ) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_UnSetAutoMask);
return;
}
if (!ceData.bgPixmap.isNull()) {
widgetActionRequest(ceData, elementFlags, ptr, WAR_SetBackgroundOrigin, QStyleWidgetActionRequestData(QWidget::WidgetOrigin));
}
}
if ( w->backgroundPixmap() )
w->setBackgroundOrigin( QWidget::WidgetOrigin );
}
}
void NorwegianWoodStyle::drawPrimitive( PrimitiveElement pe,
QPainter *p,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags flags, const QStyleOption& opt ) const
@ -970,45 +968,45 @@ void NorwegianWoodStyle::drawPrimitive( PrimitiveElement pe,
}
case PE_ScrollBarAddLine:
if ( flags & Style_Horizontal )
drawSemicircleButton( p, r, PointRight, flags & Style_Down, cg );
drawSemicircleButton( p, ceData, elementFlags, r, PointRight, flags & Style_Down, cg );
else
drawSemicircleButton( p, r, PointDown, flags & Style_Down, cg );
drawSemicircleButton( p, ceData, elementFlags, r, PointDown, flags & Style_Down, cg );
break;
case PE_ScrollBarSubLine:
if ( flags & Style_Horizontal )
drawSemicircleButton( p, r, PointLeft, flags & Style_Down, cg );
drawSemicircleButton( p, ceData, elementFlags, r, PointLeft, flags & Style_Down, cg );
else
drawSemicircleButton( p, r, PointUp, flags & Style_Down, cg );
drawSemicircleButton( p, ceData, elementFlags, r, PointUp, flags & Style_Down, cg );
break;
default:
QWindowsStyle::drawPrimitive( pe, p, r, cg, flags, opt );
QWindowsStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
break;
}
}
void NorwegianWoodStyle::drawControl( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how, const QStyleOption& opt ) const
SFlags how, const QStyleOption& opt,
const QWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
{
const QPushButton *btn;
btn = ( const QPushButton * )widget;
QColorGroup myCg( cg );
SFlags flags = Style_Default;
if ( btn->isOn() )
if ( elementFlags & CEF_IsOn )
flags |= Style_On;
if ( btn->isDown() )
if ( elementFlags & CEF_IsDown )
flags |= Style_Down;
if ( btn->isOn() || btn->isDown() )
if ( (elementFlags & CEF_IsOn) || (elementFlags & CEF_IsDown) )
flags |= Style_Sunken;
if ( btn->isDefault() )
if ( elementFlags & CEF_IsDefault )
flags |= Style_Default;
if ( ! btn->isFlat() && !(flags & Style_Down) )
if ( ! (elementFlags & CEF_IsFlat) && !(flags & Style_Down) )
flags |= Style_Raised;
int x1, y1, x2, y2;
@ -1018,26 +1016,26 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
p->setBrush( QBrush( cg.button(), NoBrush ) );
QBrush fill;
if ( btn->isDown() )
if ( elementFlags & CEF_IsDown )
fill = cg.brush( QColorGroup::Mid );
else if ( btn->isOn() )
else if ( elementFlags & CEF_IsOn )
fill = QBrush( cg.mid(), Dense4Pattern );
else
fill = cg.brush( QColorGroup::Button );
myCg.setBrush( QColorGroup::Mid, fill );
if ( btn->isDefault() ) {
if ( elementFlags & CEF_IsDefault ) {
x1 += 2;
y1 += 2;
x2 -= 2;
y2 -= 2;
}
drawPrimitive( PE_ButtonCommand, p,
drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags,
QRect( x1, y1, x2 - x1 + 1, y2 - y1 + 1),
myCg, flags, opt );
if ( btn->isDefault() ) {
if ( elementFlags & CEF_IsDefault ) {
QPen pen( Qt::black, 4 );
pen.setCapStyle( Qt::RoundCap );
pen.setJoinStyle( Qt::RoundJoin );
@ -1045,14 +1043,14 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
drawroundrect( p, x1 - 1, y1 - 1, x2 - x1 + 3, y2 - y1 + 3, 8 );
}
if ( btn->isMenuButton() ) {
if ( elementFlags & CEF_IsMenuWidget ) {
int dx = ( y1 - y2 - 4 ) / 3;
// reset the flags
flags = Style_Default;
if ( btn->isEnabled() )
if ( elementFlags & CEF_IsEnabled )
flags |= Style_Enabled;
drawPrimitive( PE_ArrowDown, p,
drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
QRect( x2 - dx, dx, y1, y2 - y1),
myCg, flags, opt );
}
@ -1063,8 +1061,6 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
}
case CE_PushButtonLabel:
{
const QPushButton *btn;
btn = (const QPushButton*)widget;
int x, y, w, h;
r.rect( &x, &y, &w, &h );
@ -1072,7 +1068,7 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
r.coords( &x1, &y1, &x2, &y2 );
int dx = 0;
int dy = 0;
if ( btn->isMenuButton() )
if ( elementFlags & CEF_IsMenuWidget )
dx = ( y2 - y1 ) / 3;
if ( dx || dy )
p->translate( dx, dy );
@ -1083,25 +1079,27 @@ void NorwegianWoodStyle::drawControl( ControlElement element,
h -= 4;
drawItem( p, QRect( x, y, w, h ),
AlignCenter | ShowPrefix,
cg, btn->isEnabled(),
btn->pixmap(), btn->text(), -1,
(btn->isDown() || btn->isOn()) ? &cg.brightText()
cg, (elementFlags & CEF_IsEnabled),
(ceData.fgPixmap.isNull())?NULL:&ceData.fgPixmap, ceData.text, -1,
((elementFlags & CEF_IsDown) || (elementFlags & CEF_IsOn)) ? &cg.brightText()
: &cg.buttonText() );
if ( dx || dy )
p->translate( -dx, -dy );
break;
}
default:
QWindowsStyle::drawControl( element, p, widget, r, cg, how, opt );
QWindowsStyle::drawControl( element, p, ceData, elementFlags, r, cg, how, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawControlMask( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
switch( element ) {
case CE_PushButton:
@ -1113,37 +1111,36 @@ void NorwegianWoodStyle::drawControlMask( ControlElement element,
break;
}
default:
QWindowsStyle::drawControlMask( element, p, widget, r, opt );
QWindowsStyle::drawControlMask( element, p, ceData, elementFlags, r, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how,
SCFlags sub,
SCFlags subActive,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
switch( cc ) {
case CC_ComboBox:
{
const QComboBox *cmb;
cmb = (const QComboBox*)widget;
int awh, ax, ay, sh, sy, dh, ew;
get_combo_parameters( subRect(SR_PushButtonContents, widget),
get_combo_parameters( subRect(SR_PushButtonContents, ceData, elementFlags, widget),
ew, awh, ax, ay, sh, dh, sy );
drawPrimitive( PE_ButtonCommand, p, r, cg, Style_Raised, opt );
drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags, r, cg, Style_Raised, opt );
QStyle *mstyle = QStyleFactory::create( "Motif" );
if ( mstyle )
mstyle->drawPrimitive( PE_ArrowDown, p,
mstyle->drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
QRect(ax, ay, awh, awh), cg, how, opt );
else
drawPrimitive( PE_ArrowDown, p,
drawPrimitive( PE_ArrowDown, p, ceData, elementFlags,
QRect(ax, ay, awh, awh), cg, how, opt );
QPen oldPen = p->pen();
@ -1155,9 +1152,9 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
p->drawLine( ax + awh - 1, sy + 1, ax + awh - 1, sy + sh - 1 );
p->setPen( oldPen );
if ( cmb->editable() ) {
QRect r( querySubControlMetrics(CC_ComboBox, widget,
SC_ComboBoxEditField, opt) );
if ( elementFlags & CEF_IsEditable ) {
QRect r( querySubControlMetrics(CC_ComboBox, ceData, elementFlags,
SC_ComboBoxEditField, opt, widget) );
qDrawShadePanel( p, r, cg, TRUE, 1,
&cg.brush(QColorGroup::Button) );
}
@ -1165,17 +1162,19 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc,
break;
}
default:
QWindowsStyle::drawComplexControl( cc, p, widget, r, cg, how,
sub, subActive, opt );
QWindowsStyle::drawComplexControl( cc, p, ceData, elementFlags, r, cg, how,
sub, subActive, opt, widget );
break;
}
}
void NorwegianWoodStyle::drawComplexControlMask( ComplexControl control,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData ceData,
const ControlElementFlags elementFlags,
const QRect &r,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
switch ( control ) {
case CC_ComboBox:
@ -1187,15 +1186,17 @@ void NorwegianWoodStyle::drawComplexControlMask( ComplexControl control,
break;
}
default:
QWindowsStyle::drawComplexControlMask( control, p, widget, r, opt );
QWindowsStyle::drawComplexControlMask( control, p, ceData, elementFlags, r, opt, widget );
break;
}
}
QRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
SubControl sc,
const QStyleOption& opt ) const
const QStyleOption& opt,
const QWidget *widget ) const
{
QRect rect;
switch ( control ) {
@ -1204,62 +1205,58 @@ QRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control,
switch( sc ) {
case SC_ComboBoxEditField:
{
rect = subRect( SR_PushButtonContents, widget );
rect = subRect( SR_PushButtonContents, ceData, elementFlags, widget );
int ew = get_combo_extra_width( rect.height(), 0 );
rect.setRect( rect.x() + 1, rect.y() + 1,
rect.width() - 2 - ew, rect.height() - 2 );
break;
}
default:
rect = QWindowsStyle::querySubControlMetrics( control, widget,
sc, opt );
rect = QWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
sc, opt, widget );
break;
}
break;
}
case CC_ScrollBar:
{
const QScrollBar* sb;
sb = (const QScrollBar*)widget;
bool horz = sb->orientation() == QScrollBar::Horizontal;
bool horz = ceData.orientation == QScrollBar::Horizontal;
int b = 2;
int w = horz ? sb->height() : sb->width();
int w = horz ? ceData.rect.height() : ceData.rect.width();
switch ( sc ) {
case SC_ScrollBarAddLine:
rect.setRect( b, b, w - 2 * b, w - 2 * b );
if ( horz )
rect.moveBy( sb->width() - w, 0 );
rect.moveBy( ceData.rect.width() - w, 0 );
else
rect.moveBy( 0, sb->height() - w );
rect.moveBy( 0, ceData.rect.height() - w );
break;
case SC_ScrollBarSubLine:
rect.setRect( b, b, w - 2 * b, w - 2 * b );
break;
default:
rect = QWindowsStyle::querySubControlMetrics( control, widget,
sc, opt );
rect = QWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
sc, opt, widget );
break;
}
break;
}
default:
rect = QWindowsStyle::querySubControlMetrics( control, widget,
sc, opt );
rect = QWindowsStyle::querySubControlMetrics( control, ceData, elementFlags,
sc, opt, widget );
break;
}
return rect;
}
QRect NorwegianWoodStyle::subRect( SubRect sr, const QWidget * widget ) const
QRect NorwegianWoodStyle::subRect( SubRect sr, const QStyleControlElementData &ceData, const ControlElementFlags elementFlags, const QWidget * widget ) const
{
QRect r;
switch ( sr ) {
case SR_PushButtonContents:
{
const QPushButton *btn;
btn = (const QPushButton*)widget;
r = btn->rect();
r = ceData.rect;
int d = QMIN( r.width(), r.height() ) / 2;
int b = buttonthickness( d );
@ -1276,14 +1273,14 @@ QRect NorwegianWoodStyle::subRect( SubRect sr, const QWidget * widget ) const
}
case SR_ComboBoxFocusRect:
{
r = subRect( SR_PushButtonContents, widget );
r = subRect( SR_PushButtonContents, ceData, elementFlags, widget );
int ew = get_combo_extra_width( r.height() );
r.setRect( r.x() + 1, r.y() + 1, r.width() - 2 - ew,
r.height() - 2 );
break;
}
default:
r = QWindowsStyle::subRect( sr, widget );
r = QWindowsStyle::subRect( sr, ceData, elementFlags, widget );
break;
}
return r;
@ -1358,11 +1355,12 @@ static void get_combo_parameters( const QRect &r,
static inline int buttonthickness( int d )
{ return d > 20 ? 5 : ( d < 10 ? 2: 3 ); }
void NorwegianWoodStyle::drawSemicircleButton( QPainter *p, const QRect &r,
void NorwegianWoodStyle::drawSemicircleButton( QPainter *p, const QStyleControlElementData &ceData,
ControlElementFlags elementFlags, const QRect &r,
int dir, bool sunken,
const QColorGroup &g ) const
{
int b = pixelMetric( PM_ScrollBarExtent ) > 20 ? 3 : 2;
int b = pixelMetric( PM_ScrollBarExtent, ceData, elementFlags ) > 20 ? 3 : 2;
QRegion extrn( r.x(), r.y(), r.width(), r.height(), QRegion::Ellipse );
QRegion intern( r.x()+b, r.y()+b, r.width()-2*b, r.height()-2*b, QRegion::Ellipse );

@ -26,13 +26,15 @@ class NorwegianWoodStyle : public QWindowsStyle
{
public:
NorwegianWoodStyle();
void polish( QApplication*);
void polish( QWidget* );
void unPolish( QWidget* );
void unPolish( QApplication*);
void applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
void drawPrimitive( PrimitiveElement pe,
QPainter *p,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags flags = Style_Default,
@ -40,44 +42,54 @@ public:
void drawControl( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how = Style_Default,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
void drawControlMask( ControlElement element,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
void drawComplexControl( ComplexControl cc,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const QRect &r,
const QColorGroup &cg,
SFlags how = Style_Default,
SCFlags sub = SC_All,
SCFlags subActive = SC_None,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
void drawComplexControlMask( ComplexControl control,
QPainter *p,
const QWidget *widget,
const QStyleControlElementData ceData,
const ControlElementFlags elementFlags,
const QRect &r,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
QRect querySubControlMetrics( ComplexControl control,
const QWidget *widget,
const QStyleControlElementData &ceData,
ControlElementFlags elementFlags,
SubControl sc,
const QStyleOption& = QStyleOption::Default ) const;
const QStyleOption& = QStyleOption::Default,
const QWidget *widget = 0 ) const;
QRect subRect( SubRect r, const QWidget *widget ) const;
QRect subRect( SubRect r, const QStyleControlElementData &ceData, const ControlElementFlags elementFlags, const QWidget *widget ) const;
private:
void drawSemicircleButton(QPainter *p, const QRect &r, int dir,
void drawSemicircleButton(QPainter *p, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, int dir,
bool sunken, const QColorGroup &g ) const;
QPalette oldPalette;
QPixmap *sunkenDark;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

@ -1 +0,0 @@
../src/3rdparty/sqlite/btree.h

@ -1 +0,0 @@
../src/3rdparty/zlib/crc32.h

@ -1 +0,0 @@
../src/sql/drivers/odbc/debian_qsql_odbc.h

@ -1 +0,0 @@
../src/3rdparty/zlib/deflate.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftglue.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftxgdef.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftxgpos.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftxgsub.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftxopen.h

@ -1 +0,0 @@
../src/3rdparty/opentype/ftxopenf.h

@ -1 +0,0 @@
../src/3rdparty/sqlite/hash.h

@ -1 +0,0 @@
../src/3rdparty/zlib/inffast.h

@ -1 +0,0 @@
../src/3rdparty/zlib/inffixed.h

@ -1 +0,0 @@
../src/3rdparty/zlib/inflate.h

@ -1 +0,0 @@
../src/3rdparty/zlib/inftrees.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jchuff.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jconfig.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jdct.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jdhuff.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jerror.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jinclude.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jmemsys.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jmorecfg.h

@ -1 +0,0 @@
../extensions/nsplugin/src/jri.h

@ -1 +0,0 @@
../extensions/nsplugin/src/jri_md.h

@ -1 +0,0 @@
../extensions/nsplugin/src/jritypes.h

@ -1 +0,0 @@
../src/3rdparty/libjpeg/jversion.h

@ -1 +0,0 @@
../src/moc/moc_yacc.h

@ -1 +0,0 @@
../extensions/nsplugin/src/npapi.h

@ -1 +0,0 @@
../extensions/nsplugin/src/npupp.h

@ -1 +0,0 @@
../src/3rdparty/sqlite/opcodes.h

@ -1 +0,0 @@
../src/3rdparty/sqlite/os.h

@ -1 +0,0 @@
../src/3rdparty/opentype/otlbuffer.h

@ -1 +0,0 @@
../src/3rdparty/sqlite/pager.h

@ -1 +0,0 @@
../src/3rdparty/sqlite/parse.h

@ -1 +0,0 @@
../src/3rdparty/libpng/pngasmrd.h

@ -1 +0,0 @@
../src/3rdparty/libpng/pngconf.h

@ -0,0 +1 @@
../../src/kernel/qeventloop_glib_p.h

@ -0,0 +1 @@
../../src/inputmethod/qinputcontextinterface_p.h

@ -1 +0,0 @@
../src/kernel/q1xcompatibility.h

@ -1 +0,0 @@
../src/kernel/qapplication_p.h

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save